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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x637126
sub esp, 0x64
mov eax, 0
lea edi, [esp + 0x4c]
call fcn.0044ca8a
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
movzx edx, byte [edx + 0x44]
mov byte [eax + 0x50], 0
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx]
mov ecx, edx
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
mov esi, eax
mov eax, dword [esp + 0x78]
cmp eax, edx
jae 0x63711f
mov byte [esp + 0x23], cl
lea edx, [eax + eax*2]
shl edx, 3
movzx edx, byte [ebp + edx]
cmp dl, 5
je 0x637089
mov edx, dword [ebx + 4]
inc edx
imul edx, eax
mov ebp, dword [esp + 0x7c]
add edx, ebp
mov dword [esp + 0x3c], edx
mov edi, ebp
mov ebp, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
shr edx, 5
cmp edx, ebp
jae 0x637118
mov ebp, dword [eax + edx*4]
mov ecx, dword [esp + 0x3c]
mov ebx, 1
shl ebx, cl
test ebp, ebx
je 0x63707a
xor eax, eax
test al, al
je 0x637071
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x637014
lea edx, [ebx + 1]
mov dword [eax + 0x18], edx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x78]
mov dword [ecx + edx*4], ebx
lea ebx, [ecx + edx*4]
mov byte [ebx + 4], 0
mov dword [ecx + edx*4 + 8], edi
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
jmp 0x636893
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x28]
movzx ebx, byte [esp + 0x22]
mov eax, edi
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x70]
mov edi, ecx
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x68]
mov edx, dword [eax]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov eax, dword [esp + 0x30]
cmp eax, edx
jae 0x63710a
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x22], bl
lea edx, [eax + eax*2]
lea ebp, [ebp + edx*8]
lea edi, [esp + 0x4c]
mov esi, ebp
call fcn.0044cf64
movzx ecx, byte [esp + 0x4c]
cmp cl, 4
ja 0x636e8f
shl edx, 3
cmp cl, 1
ja 0x636c17
test cl, cl
jne 0x6369b8
test bl, bl
je 0x6368f4
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 4]
inc ebp
imul ebp, eax
add ebp, ecx
mov dword [esp + 0x3c], ebp
mov esi, eax
mov eax, dword [ebx + 0x20]
mov edi, ebx
mov ebx, dword [ebx + 0x24]
shr ebp, 5
cmp ebp, ebx
jae 0x637111
mov dword [esp + 0x28], ecx
mov byte [esp + 0x22], dl
mov ebx, dword [eax + ebp*4]
mov ecx, dword [esp + 0x3c]
mov edx, 1
shl edx, cl
test ebx, edx
je 0x6368e8
xor eax, eax
test al, al
jne 0x6367ad
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov eax, edi
mov ecx, ebx
mov edx, ebp
mov esi, dword [esp + 0x68]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
test ebx, ebx
jle 0x637005
mov edi, edx
lea edx, [ebx - 1]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x3c], ebx
mov ecx, dword [ebp + ebx*4 - 0xc]
mov dword [esp + 0x34], ecx
shl ebx, 2
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ebp + ecx*4 - 4]
movzx ebx, byte [ebx + ebp - 8]
mov dword [eax + 0x18], edx
lea edx, [eax + 0x14]
mov dword [esp + 0x48], edx
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
jmp 0x6367d6
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x636879
mov ebp, dword [esp + 0x6c]
mov ecx, ebx
mov ebx, dword [ebp]
mov esi, ebp
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, ebx
jae 0x6370cf
movzx edx, byte [edx + ebp]
cmp dl, 5
je 0x6369b2
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi + 0x14]
mov edi, eax
lea eax, [ebx + 1]
cmp eax, edx
jg 0x636958
lea eax, [ebx + 1]
mov dword [esi + 0x18], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea edx, [ebp + eax*4]
mov byte [edx + 4], 1
mov edx, dword [esp + 0x2c]
mov dword [ebp + eax*4 + 8], edx
mov eax, dword [esp + 0x50]
mov ecx, edx
movzx edx, byte [esp + 0x22]
jmp 0x636837
lea ecx, [0x7ed640]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x6369a7
mov dword [ebx + 0x14], eax
mov esi, ebx
mov edi, dword [esp + 0x30]
mov ebx, ecx
mov ebp, eax
movzx ecx, byte [esp + 0x22]
jmp 0x63692b
mov edi, dword [esp + 0x48]
call fcn.0044c990
jmp 0x636996
mov edx, dword [esp + 0x2c]
jmp 0x636948
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x50]
cmp ebx, ebp
jae 0x6370c8
mov esi, ebx
lea ebx, [ebx + ebx*2]
shl ebx, 3
movzx ebx, byte [ebx + edx]
mov edi, edx
lea edx, [ebx - 7]
cmp dl, 3
ja 0x636b0b
mov edx, dword [esp + 0x54]
cmp edx, ebp
jae 0x6370c1
lea ebx, [edx + edx*2]
shl ebx, 3
movzx ebx, byte [ebx + edi]
cmp bl, 5
je 0x636b04
mov ebx, dword [eax + 4]
inc ebx
imul ebx, edx
mov ebp, dword [esp + 0x2c]
add ebx, ebp
mov dword [esp + 0x3c], ebx
mov esi, ebp
mov ebp, dword [eax + 0x24]
mov edi, edx
mov edx, dword [eax + 0x20]
shr ebx, 5
cmp ebx, ebp
jae 0x6370ba
mov ebp, dword [edx + ebx*4]
mov ecx, dword [esp + 0x3c]
mov eax, 1
shl eax, cl
test ebp, eax
je 0x636af5
xor eax, eax
test al, al
je 0x636aef
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
mov ecx, eax
lea eax, [ebx + 1]
cmp eax, edx
jg 0x636a90
lea eax, [ebx + 1]
mov dword [ecx + 0x18], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea edx, [ebp + eax*4]
mov byte [edx + 4], 0
mov dword [ebp + eax*4 + 8], esi
mov eax, dword [esp + 0x54]
mov ebx, dword [ecx + 4]
mov ecx, ebx
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov dword [esp + 0x38], edi
lea ecx, [0x7ed640]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x636ae4
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov ebx, ecx
mov ebp, eax
mov ecx, dword [esp + 0x6c]
jmp 0x636a64
mov edi, dword [esp + 0x48]
call fcn.0044c990
jmp 0x636ad2
mov ecx, dword [esp + 0x6c]
jmp 0x636a7d
or eax, ebp
mov dword [edx + ebx*4], eax
mov eax, 1
jmp 0x636a46
mov ecx, eax
jmp 0x636a7d
mov edx, dword [eax + 4]
cmp bl, 5
je 0x636c10
lea ebx, [edx + 1]
imul ebx, esi
add ebx, edx
mov dword [esp + 0x3c], ebx
mov ebp, dword [eax + 0x24]
mov edi, edx
mov edx, dword [eax + 0x20]
shr ebx, 5
cmp ebx, ebp
jae 0x6370b3
mov ebp, dword [edx + ebx*4]
mov ecx, dword [esp + 0x3c]
mov eax, 1
shl eax, cl
test eax, ebp
je 0x636c01
xor eax, eax
test al, al
je 0x636bfb
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x14]
mov ebp, dword [eax + 0x1c]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebp
jg 0x636b95
lea eax, [edx + 1]
mov dword [ecx + 0x18], eax
lea eax, [edx + edx*2]
mov dword [ebx + eax*4], esi
lea edx, [ebx + eax*4]
mov byte [edx + 4], 0
mov dword [ebx + eax*4 + 8], edi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
lea ecx, [0x7ed640]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x636bf0
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x6c]
jmp 0x636b6c
mov edi, dword [esp + 0x48]
call fcn.0044c990
jmp 0x636bdb
mov ecx, dword [esp + 0x6c]
jmp 0x636b83
or ebp, eax
mov dword [edx + ebx*4], ebp
mov eax, 1
jmp 0x636b4e
mov ecx, eax
jmp 0x636b83
cmp cl, 2
jne 0x636d51
test bl, bl
jne 0x636d2d
mov ebp, dword [esp + 0x54]
test ebp, ebp
jb 0x636d25
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov esi, edx
mov edx, dword [ebx + 8]
mov edi, eax
mov eax, dword [ebx + 0xc]
cmp ebp, eax
jae 0x636d1f
mov eax, dword [ebx]
mov edx, dword [edx + ebp*4]
mov ebp, dword [eax + 4]
mov eax, dword [eax]
cmp edi, ebp
jae 0x63709e
movzx eax, byte [esi + eax]
cmp al, 5
je 0x636c95
mov eax, dword [ebx + 0x14]
mov ebp, dword [ebx + 0x18]
mov esi, edx
lea edx, [ebp + 1]
mov ebx, dword [ebx + 0x1c]
cmp edx, ebx
jg 0x636cbe
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x18], edx
lea edx, [ebp + ebp*2]
mov dword [eax + edx*4], edi
lea ebp, [eax + edx*4]
mov byte [ebp + 4], 1
mov dword [eax + edx*4 + 8], esi
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x54]
cmp ebp, edx
jae 0x637097
mov edx, dword [esp + 0x2c]
mov dword [eax + ebp*4], edx
mov eax, dword [esp + 0x50]
mov ecx, edx
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov dword [esp + 0x3c], esi
lea ecx, [0x7ed640]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x636d14
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ebp, ecx
movzx ecx, byte [esp + 0x22]
jmp 0x636c79
mov edi, dword [esp + 0x48]
call fcn.0044c990
jmp 0x636d00
mov edx, dword [esp + 0x2c]
jmp 0x636cae
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
jmp 0x636d1f
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0x54]
cmp ebx, ecx
jae 0x6370a5
mov ecx, dword [esp + 0x2c]
mov dword [edx + ebx*4], ecx
mov edi, eax
jmp 0x636881
cmp cl, 3
jne 0x636d98
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
movzx eax, byte [esp + 8]
not eax
and eax, dword [esp + 0x54]
test al, al
jne 0x636d8f
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov edi, dword [esp + 0x6c]
jmp 0x636881
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x636e7b
cmp edx, 1
jle 0x636e72
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x68]
movzx ebx, byte [ecx + 0x50]
test bl, bl
je 0x636e6b
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x636e67
test edx, edx
jle 0x636e63
mov ebp, dword [ecx + 0x54]
mov esi, ebx
mov ebx, dword [ecx + 0x58]
cmp ebx, 1
jbe 0x637090
mov ebx, dword [ebp + 4]
cmp edx, ebx
jle 0x636e20
mov ebx, dword [ecx + 0x58]
mov ebp, dword [ecx + 0x54]
mov edi, edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp ebx, edx
jle 0x636e5f
cmp ebp, eax
je 0x636e20
mov dword [esp], ebp
mov dword [esp + 4], eax
shl edx, 2
mov dword [esp + 8], edx
call fcn.0044d190
mov eax, dword [esp + 0x68]
mov byte [eax + 0x50], 1
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x636e53
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 4]
mov ebp, dword [esp + 0x2c]
cmp ebp, ebx
je 0x636e47
mov edi, edx
jmp 0x636881
mov byte [esp + 0x80], 1
add esp, 0x64
ret
mov byte [esp + 0x80], 1
add esp, 0x64
ret
mov edx, ebx
jmp 0x636e09
mov esi, ebx
jmp 0x636e20
mov esi, ebx
jmp 0x636e20
movzx esi, byte [esp + 0x23]
jmp 0x636df7
mov edx, dword [esp + 0x2c]
jmp 0x636dba
mov eax, dword [esp + 0x68]
mov byte [eax + 0x50], 1
mov byte [esp + 0x80], 1
add esp, 0x64
ret
cmp cl, 7
ja 0x636f11
cmp cl, 5
je 0x6370f0
cmp cl, 6
jne 0x636eb1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
mov edx, ebx
jmp 0x636837
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00630070
movzx eax, byte [esp + 8]
test al, al
je 0x636f08
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
lea ecx, [ebp + ebx]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov edi, dword [esp + 0x6c]
jmp 0x636881
cmp cl, 8
je 0x636fb2
cmp cl, 9
je 0x636f6f
cmp cl, 0xa
jne 0x6370d6
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa
je 0x636f66
cmp eax, 0xffffffff
je 0x636f66
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov edi, dword [esp + 0x6c]
jmp 0x636881
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp ecx, 0xffffffff
je 0x636fa9
mov ebx, dword [esp + 0x2c]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov edi, dword [esp + 0x6c]
jmp 0x636881
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jbe 0x6370ac
mov edx, dword [edx]
cmp eax, edx
jne 0x636ffc
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x22]
jmp 0x636837
mov edi, dword [esp + 0x6c]
jmp 0x636881
movzx eax, byte [esi + 0x50]
mov byte [esp + 0x80], al
add esp, 0x64
ret
lea eax, [0x7ed640]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x637067
mov dword [ebx + 0x14], eax
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x7c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x636785
lea edi, [ebx + 0x14]
call fcn.0044c990
jmp 0x637052
mov eax, dword [esp + 0x6c]
jmp 0x6367a0
or ebx, ebp
mov dword [eax + edx*4], ebx
mov eax, 1
jmp 0x636765
mov eax, ebx
jmp 0x6367a0
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b1880]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b1888]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.0044b230
jmp fcn.006366c0