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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x6376e1
sub esp, 0xd4
lea edi, [esp + 0x114]
xor eax, eax
call fcn.00465fe1
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx]
test edx, edx
je 0x636f7c
mov dword [esp], edx
call fcn.005e1ba0
mov ecx, dword [esp + 0xd8]
jmp 0x636fdb
lea eax, [0x6defe0]
mov dword [esp], eax
call fcn.0040be50
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov dword [eax + 0x58], 0x1fffffff
call fcn.0040ca70
mov eax, dword [0x1eaa9f0]
mov ecx, dword [esp]
test eax, eax
jne 0x636fbd
mov eax, dword [esp + 0x44]
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0xd8]
mov dword [ecx], eax
jmp 0x636fdb
mov edx, dword [esp + 0x44]
lea edi, [edx + 0x70]
mov eax, ecx
call fcn.00465d80
mov edi, dword [esp + 0xd8]
mov eax, edx
call fcn.00465d80
mov ecx, edi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
cmp esi, ebp
jl 0x637008
mov edi, esi
mov esi, ebp
mov ebp, edi
test esi, esi
jge 0x637010
xor esi, esi
jmp 0x637016
cmp esi, eax
jle 0x637016
mov esi, eax
test ebp, ebp
jge 0x63701e
xor ebp, ebp
jmp 0x637024
cmp ebp, eax
jle 0x637024
mov ebp, eax
mov edi, dword [ecx]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
sub ebp, esi
mov dword [esp + 0x14], ebp
call fcn.005e1850
movzx eax, byte [esp + 0xf0]
test al, 2
je 0x63706b
test al, 8
je 0x637067
xor eax, 2
mov byte [esp + 0xf0], al
mov eax, 1
jmp 0x63706d
xor eax, eax
jmp 0x63706d
xor eax, eax
movzx ecx, byte [esp + 0xf0]
and ecx, 3
cmp cl, 1
jne 0x637084
mov ecx, 5
jmp 0x6370a1
cmp cl, 2
jne 0x637090
mov ecx, 6
jmp 0x6370a1
cmp cl, 3
jne 0x63709c
mov ecx, 7
jmp 0x6370a1
mov ecx, 4
mov byte [esp + 0x1f], al
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx]
mov byte [ebx + 0x48], cl
mov ecx, dword [edx]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0x110]
mov dword [ecx + 0x40], ebp
mov ebp, dword [0x1eaa9f0]
test ebp, ebp
jne 0x6370d3
mov dword [ecx + 0x3c], ebx
jmp 0x6370dd
lea edi, [ecx + 0x3c]
mov eax, ebx
call fcn.00465d80
mov eax, dword [edx]
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 0xf4]
mov eax, dword [eax]
mov ecx, dword [edx + 4]
lea ebx, [0x69d520]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040ed50
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x6371e5
mov edx, dword [eax]
test byte [edx], al
nop
mov ebx, dword [0x1eaa9f0]
mov ebp, dword [eax + 4]
test ebx, ebx
jne 0x637135
mov dword [edx + 4], ebp
jmp 0x637143
lea edi, [edx + 4]
mov ecx, eax
mov eax, ebp
call fcn.00465d80
mov eax, ecx
mov edi, dword [eax + 4]
test byte [edi], al
mov edx, dword [0x1eaa9f0]
mov ebx, dword [eax]
test edx, edx
jne 0x637158
mov dword [edi], ebx
jmp 0x637163
mov ecx, eax
mov eax, ebx
call fcn.00465d80
mov eax, ecx
nop
mov edx, dword [0x1eaa9f0]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 8]
test edx, edx
jne 0x63717c
mov dword [eax], ebp
jmp 0x637187
mov edi, eax
mov eax, ebp
call fcn.00465d80
mov eax, edi
mov edx, dword [ebx + 8]
mov ebp, dword [0x1eaa9f0]
mov edi, dword [edx + 4]
test ebp, ebp
jne 0x63719c
mov dword [eax + 4], edi
jmp 0x6371b0
lea edx, [eax + 4]
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.00465d80
mov eax, ebp
mov edi, ecx
test byte [edi], al
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x6371c0
mov dword [edi], eax
jmp 0x6371c5
call fcn.00465d80
mov edx, dword [eax]
test byte [edx], al
mov ebp, dword [0x1eaa9f0]
test ebp, ebp
jne 0x6371d8
mov dword [edx + 4], eax
jmp 0x6371e0
lea edi, [edx + 4]
call fcn.00465d80
mov edx, dword [eax + 0xc]
jmp 0x63722a
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.005e35d0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xd8]
lea edx, [ecx + 4]
mov ebx, dword [esp + 4]
mov dword [esp + 0x48], ebx
mov eax, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00636a10
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x48], edx
mov ebp, dword [esp + 0x104]
add ebp, 0x3f
and ebp, 0xffffffc0
mov dword [edx + 0x24], ebp
mov dword [edx + 0x28], ebp
mov ebp, dword [esp + 0xfc]
cmp dword [ebx + 0x1c], ebp
jl 0x637252
mov dword [ebx + 0x18], ebp
jmp 0x6372a3
mov dword [esp + 0x2c], ebp
lea eax, [0x6c3d80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xd8]
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ecx
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x637290
mov dword [edx + 0x14], eax
jmp 0x637298
lea edi, [edx + 0x14]
call fcn.00465d80
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0xfc]
xor eax, eax
jmp 0x6372e6
mov ebx, eax
shl eax, 4
mov dword [ebp + eax], edx
mov dword [ebp + eax + 4], edi
mov dword [ebp + eax + 8], 0
mov dword [ebp + eax + 0xc], 0x7fffffff
lea eax, [ebx + 1]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x58]
mov edx, ecx
cmp eax, esi
jge 0x637304
lea edi, [ebp + eax*8]
mov ecx, edx
mov edx, dword [edi]
mov edi, dword [edi + 4]
mov ebp, dword [ebx + 0x14]
mov ebx, dword [ebx + 0x18]
cmp eax, ebx
jb 0x6372b9
jmp 0x6376d9
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x14]
mov ebp, dword [ebx + 0x18]
mov esi, dword [ebx + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00619a30
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
lea edx, [0x6dede0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x48]
xor ebp, ebp
jmp 0x63737e
lea ebp, [eax + 1]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov eax, edi
mov ecx, esi
mov edx, dword [esp + 0xd8]
cmp ebp, ecx
jge 0x637504
mov esi, dword [edx]
mov edx, dword [esi + 4]
mov ebx, dword [esi]
cmp ebp, edx
jae 0x6376d0
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
test byte [esi], al
lea esi, [ebp + ebp*2]
lea ebx, [ebx + esi*8 + 8]
mov ebx, dword [ebx]
cmp ebp, edx
jae 0x6376c7
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x50]
test byte [ebx], al
mov ebx, dword [esp + 0x4c]
lea ebx, [ebx + esi*8]
mov ebx, dword [ebx]
cmp ebp, edx
jae 0x6376be
mov dword [esp + 0x20], ebp
imul ecx, ebp, 0x34
mov dword [esp + 0x40], ecx
lea edi, [eax + ecx]
mov edx, dword [esp + 0x4c]
lea edx, [edx + esi*8 + 0xc]
mov edx, dword [edx]
mov esi, eax
xor eax, eax
call fcn.00465fe3
mov ecx, dword [esp + 0x40]
mov dword [esi + ecx + 0x20], ebx
mov ebx, dword [esp + 0x28]
mov dword [esi + ecx + 0x2c], ebx
mov dword [esi + ecx + 0x30], edx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.005e3bd0
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
test cl, cl
je 0x6374f0
shl edx, 6
sar edx, 6
mov eax, esi
mov esi, dword [esp + 0x40]
mov ecx, ebp
mov ebp, dword [esp + 0x54]
mov dword [ebp + esi], edx
shl ebx, 6
sar ebx, 6
mov dword [ebp + esi + 4], ebx
shl ecx, 6
sar ecx, 6
mov dword [ebp + esi + 8], ecx
shl eax, 6
sar eax, 6
mov dword [ebp + esi + 0xc], eax
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx]
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
mov eax, dword [esp + 0x20]
cmp eax, ecx
jae 0x6376b9
mov ecx, edx
lea edx, [eax + eax*4]
mov ebx, dword [ebx + edx*4]
shl ebx, 6
sar ebx, 6
mov dword [ebp + esi + 0x10], ebx
mov ebx, dword [ecx]
mov edi, ebp
mov ebp, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
cmp eax, ebp
jae 0x6376b2
mov ebx, dword [ebx + edx*4 + 8]
shl ebx, 6
sar ebx, 6
mov dword [edi + esi + 0x14], ebx
mov ebx, dword [ecx]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
cmp eax, ebp
jae 0x6376ab
mov ebx, dword [ebx + edx*4 + 4]
shl ebx, 6
sar ebx, 6
mov dword [edi + esi + 0x18], ebx
mov ebx, dword [ecx]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
cmp eax, ebp
jae 0x6376a4
mov edx, dword [ebx + edx*4 + 0xc]
shl edx, 6
sar edx, 6
mov dword [edi + esi + 0x1c], edx
jmp 0x637368
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xd8]
mov edi, dword [esp + 0x54]
jmp 0x637368
movzx edx, byte [esp + 0xf0]
test dl, 1
setne dl
mov ebx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], dl
call fcn.006376f0
lea edi, [esp + 0x98]
xor eax, eax
call fcn.00465fe1
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
movzx eax, byte [esp + 0xf0]
mov byte [esp + 0xc4], al
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x9c], eax
lea edi, [esp + 0x5c]
lea esi, [esp + 0x98]
call fcn.0046646a
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xec]
sub eax, dword [esp + 0xe8]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x1f]
test al, al
je 0x6375cf
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.00636da0
movzx eax, byte [esp + 0x88]
and eax, 3
cmp al, 1
jne 0x6375e6
mov eax, 5
jmp 0x637603
cmp al, 2
jne 0x6375f2
mov eax, 6
jmp 0x637603
cmp al, 3
jne 0x6375fe
mov eax, 7
jmp 0x637603
mov eax, 4
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005e4250
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov dword [esp], eax
call fcn.0044e8f0
mov eax, dword [esp + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.0044e8f0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
call fcn.0044e8f0
mov eax, dword [esp + 0x34]
shl eax, 6
sar eax, 6
mov ecx, dword [esp + 4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x30]
shl eax, 6
sar eax, 6
mov dword [esp + 0x74], eax
shl ecx, 6
sar ecx, 6
mov dword [esp + 0x78], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.00636c80
lea edi, [esp + 0x114]
lea esi, [esp + 0x5c]
call fcn.0046646a
add esp, 0xd4
ret
mov ecx, ebp
call fcn.00465e00
mov ecx, ebp
call fcn.00465e00
mov ecx, ebp
call fcn.00465e00
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov eax, ebp
mov ecx, edx
call fcn.00465e00
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.00636f30