Function at 0x1002ca80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8c4
push ebx
push ebp
push esi
push edi
mov ecx, 0x17
mov esi, str._soapenv:Envelope_soapenv:Body_getDescriptorsResponse_descriptorQueryReturn_descriptorFileList
lea edi, [esp + 0x74]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0xff
lea edi, [esp + 0xd5]
mov byte [esp + 0xd4], 0
lea edx, [esp + 0x74]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x8d8]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
xor ebp, ebp
mov dword [esp + 0x6c], str.fileDescription
mov dword [esp + 0x70], 0x1004a3d8
mov dword [esp + 0x74], str.releaseDate
mov dword [esp + 0x78], 0x1004a3fc
mov dword [esp + 0x7c], str.fileName
call fcn.100243e0
add esp, 0xc
test eax, eax
je 0x1002cb40
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1002cb40
mov eax, dword [ecx + 4]
test eax, eax
je 0x1002cb40
jbe 0x1002cb40
mov edx, dword [ecx]
mov ebx, eax
mov esi, dword [edx]
mov edi, 0x1004a418
mov ecx, 0xf
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1002cb2f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002cb34
inc ebp
add edx, 0x14
dec ebx
jne 0x1002cb18
xor ebx, ebx
cmp ebp, ebx
jne 0x1002cb4d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c4
ret
mov eax, ebp
mov ecx, dword [esp + 0x8e0]
shl eax, 4
add eax, ebp
mov dword [ecx], ebp
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
shl edx, 2
push edx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x28], ebx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], ebx
cmp dword [eax + 4], ebx
jbe 0x1002cf7b
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], ecx
jmp 0x1002cb99
xor ebx, ebx
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
add edx, ecx
mov edi, str.descriptorFile
mov ecx, 0xf
xor eax, eax
mov esi, dword [edx]
repe cmpsb byte [esi], byte es:[edi]
je 0x1002cbb8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x1002cf57
mov edx, dword [edx + 0x10]
cmp edx, ebx
mov dword [esp + 0x18], edx
je 0x1002cf7b
mov eax, dword [edx + 4]
cmp eax, ebx
je 0x1002cf7b
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], ebx
jbe 0x1002cf7b
mov dword [esp + 0x14], ebx
mov eax, dword [edx]
mov ecx, dword [esp + 0x14]
xor edi, edi
lea ebp, [esp + 0x60]
lea edx, [eax + ecx]
mov esi, dword [ebp]
mov eax, dword [edx]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1002cc24
test cl, cl
je 0x1002cc20
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1002cc24
add eax, 2
add esi, 2
test cl, cl
jne 0x1002cc00
xor eax, eax
jmp 0x1002cc29
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002cc36
inc edi
add ebp, 4
cmp edi, 5
jb 0x1002cbfb
cmp edi, 5
je case.default.0x1002cc51
mov ecx, dword [esp + 0x2c]
inc ecx
cmp edi, 4
mov dword [esp + 0x2c], ecx
ja case.default.0x1002cc51
jmp dword [edi*4 + 0x1002cf98]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x58]
add eax, 0x404
push edx
mov dword [esp + 0x5c], 0x208
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.10025590
add esp, 0xc
jmp case.default.0x1002cc51
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x20]
add eax, 0x60c
push edx
mov dword [esp + 0x24], 0x104
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.100254c0
add esp, 0xc
jmp case.default.0x1002cc51
xor eax, eax
mov byte [esp + 0x30], 0
mov dword [esp + 0x31], eax
or ecx, 0xffffffff
mov dword [esp + 0x35], eax
lea ebx, [esp + 0x30]
mov word [esp + 0x39], ax
push 0x2d
mov byte [esp + 0x3f], al
mov edi, dword [edx + 4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x34]
mov edx, ecx
mov esi, edi
mov edi, ebx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.MSVCRT.dll_strchr]
call esi
mov byte [eax], 0
inc eax
push 0x2d
push eax
call esi
mov ebx, dword [sym.imp.MSVCRT.dll_sscanf]
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x44]
push 0x1004a438
push edx
mov byte [eax], 0
call ebx
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x78]
push eax
push 0x1004a440
lea esi, [esp + ecx + 0x55]
push esi
call ebx
lea ecx, [esp + 0x74]
mov edi, esi
push ecx
or ecx, 0xffffffff
xor eax, eax
push 0x1004a448
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ecx + esi + 1]
push edx
call ebx
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
add esp, 0x34
shl eax, 8
or eax, esi
shl eax, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x710], eax
jmp case.default.0x1002cc51
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0xd4]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd4]
push edx
mov dword [esp + 0x24], 0x400
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.100254c0
lea edx, [esp + 0x54]
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0xe4]
push eax
push ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.10023120
add esp, 0x18
test eax, eax
je 0x1002ce58
mov edi, dword [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x44]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + ecx + 0xd4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
jmp 0x1002ceb8
lea edi, [esp + 0xd4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x1002ceb8
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x4d4]
lea edx, [esp + 0x4d4]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
mov edi, dword [ecx + eax + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
add edx, 0x14
inc eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
cmp eax, dword [edx + 4]
jb 0x1002cbec
cmp dword [esp + 0x2c], 5
jb 0x1002cf7b
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x4d4]
push ecx
push edx
call fcn.1002c800
add esp, 8
test eax, eax
je 0x1002cf32
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x4d4]
lea eax, [edi + 0x404]
push eax
push ecx
push str.Ignore____:__s_:__S
push 0x1004a464
call sym.TpiSetup.dll_TPI_OutputLog
add esp, 0x10
mov ecx, 0x1cb
xor eax, eax
rep stosd dword es:[edi], eax
jmp 0x1002cf57
mov esi, dword [esp + 0x10]
push esi
push 0x1004a470
call fcn.10001000
mov ecx, dword [esp + 0x30]
add esp, 8
inc ecx
add esi, 0x72c
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
inc ecx
mov eax, dword [edx + 0x10]
add esi, 0x14
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [eax + 4]
jb 0x1002cb97
mov ecx, dword [esp + 0x8e0]
mov eax, dword [esp + 0x28]
pop edi
pop esi
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
pop ebp
pop ebx
add esp, 0x8c4
ret