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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x638f61
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x638d1c
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x638f5b
mov ebx, dword [edx]
lea ebp, [eax + eax*2]
lea eax, [ebx + ebp*8]
cmp byte [eax], 3
jne 0x638d10
lea ebp, [ebx + ebp*8 + 8]
mov ebp, dword [ebp]
xchg ebp, eax
test al, 4
xchg ebp, eax
je 0x638d10
mov dword [esp + 0x10], ecx
xor eax, eax
jmp 0x638d30
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
add ebx, 0x18
inc eax
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jge 0x638dd6
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.004695d4
mov ecx, dword [edx + 4]
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jbe 0x638f54
mov esi, dword [edx]
lea ebp, [ebp + ebp*2]
lea ebp, [esi + ebp*8]
movzx edi, byte [esp + 0x38]
movzx ebp, byte [ebp]
xchg edi, eax
cmp al, 1
xchg edi, eax
ja 0x638d8c
xchg ebp, eax
cmp al, 4
xchg ebp, eax
je 0x638db2
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jae 0x638f4d
lea ecx, [ebp + ebp*2]
lea ecx, [esi + ecx*8]
cmp byte [ecx], 4
jne 0x638d28
jmp 0x638db2
xchg edi, eax
cmp al, 3
xchg edi, eax
jne 0x638da5
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x638d28
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x638d28
jmp 0x638dbe
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x638d28
jmp 0x638dca
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], edx
call fcn.006371c0
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00637580
mov eax, dword [esp + 4]
test eax, eax
je 0x638e08
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x10], ecx
xor ebx, ebx
jmp 0x638e18
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
add edx, 0x18
inc ebx
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jge 0x638e08
lea edi, [esp + 0x20]
mov esi, edx
call fcn.004695d4
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x638e75
cmp cl, 1
jbe 0x638e10
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x638f46
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x995310]
test esi, esi
je 0x638e6b
mov esi, dword [ecx + ebp*4 + 0x18]
call fcn.00468e60
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
jmp 0x638e10
cmp cl, 7
je 0x638e10
cmp cl, 0xa
ja 0x638e10
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x638f3f
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x995310]
test esi, esi
je 0x638eb4
mov esi, dword [ecx + ebp*4 + 0x18]
call fcn.00468e60
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
lea edi, [esp + 0x50]
xor eax, eax
call fcn.004690f7
lea edi, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.004695d4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x638f36
mov eax, dword [ecx]
mov esi, dword [0x995310]
lea edi, [eax + ebp*4]
test esi, esi
je 0x638f24
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
lea eax, [0x70b040]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00411b70
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x50]
call fcn.004695b6
mov eax, dword [esp + 0x14]
jmp 0x638e10
mov ecx, eax
mov eax, ebx
call fcn.00468ed0
mov eax, ebx
call fcn.00468ed0
mov eax, ebx
call fcn.00468ed0
mov eax, ebp
call fcn.00468ee0
mov eax, ebp
call fcn.00468ee0
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.00638cc0