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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x636591
sub esp, 0x128
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax]
mov dword [esp + 0xe0], ecx
test byte [ecx], al
mov edx, dword [eax + 0xb4]
mov dword [esp + 0x50], edx
mov ebx, dword [eax + 0xb8]
mov dword [esp + 0xe8], ebx
mov ebp, dword [esp + 0x130]
mov esi, dword [ebp + 0x58]
mov dword [esp + 0xf8], esi
mov edi, dword [eax + 0xbc]
mov dword [esp + 0x38], edi
mov ebp, dword [eax + 0xc0]
mov dword [esp + 0x3c], ebp
lea ebx, [ecx + 0x30]
mov dword [esp + 0xf4], ebx
mov dword [esp], ebx
call fcn.0046a440
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
call fcn.0046a7e0
mov eax, dword [esp + 0x38]
cmp eax, 0xffffffff
setne cl
mov edx, dword [esp + 0x3c]
cmp edx, 0xffffffff
setne bl
mov ebp, dword [esp + 0x5c]
cmp ebp, 0x80000
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, ebp
sar ebp, 0x1f
test ebp, ebp
setg al
sete dl
or ebx, ecx
and esi, edx
or eax, esi
test al, al
je 0x635c2e
xor ebp, ebp
mov eax, 0x80000
jmp 0x635c30
mov eax, edi
mov byte [esp + 0x32], bl
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0xbc]
cmp edx, 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
mov edi, dword [ecx + 0xc0]
cmp edi, 0xffffffff
setne cl
or ecx, esi
test cl, cl
je 0x635c8e
add edx, 1
adc edi, 0
cmp ebp, edi
setg cl
cmp edx, eax
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ebp, edi
sete bl
and esi, ebx
or ecx, esi
test cl, cl
je 0x635c89
movzx ebx, byte [esp + 0x32]
mov ebp, edi
mov eax, edx
jmp 0x635c8e
movzx ebx, byte [esp + 0x32]
test ebp, ebp
setl cl
cmp eax, 1
setb dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
or edx, ecx
test dl, dl
je 0x635caf
mov eax, 1
mov dword [esp + 0x34], eax
lea ecx, [0x68e840]
mov dword [esp], ecx
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax], 0
lea ecx, [0x8e70b0]
mov dword [esp], ecx
call fcn.0046ab80
mov eax, dword [esp + 8]
lea ecx, [0x686e00]
cmp dword [esp + 4], ecx
je 0x635cf5
mov eax, 0
jne 0x635dc7
mov edx, dword [esp + 0x34]
cmp dword [eax + 4], edx
jl 0x635dcb
mov dword [esp + 0xe4], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea edx, [0x636630]
mov dword [esp + 0x118], edx
lea edx, [0x8e70b0]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x118]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0xb0]
mov dword [esp], ecx
call fcn.00435e50
test eax, eax
jne 0x635dbb
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov edi, dword [esp + 0xfc]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0x90e260]
test ecx, ecx
jne 0x635db1
mov dword [edi], eax
jmp 0x635e8b
call fcn.004630d0
jmp 0x635e8b
call fcn.00436440
add esp, 0x128
ret
mov edx, dword [esp + 0x34]
lea eax, [0x696c40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044b780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0xfc]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov ecx, dword [0x90e260]
test ecx, ecx
jne 0x635e04
mov dword [edi], eax
jmp 0x635e09
call fcn.004630d0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
lea eax, [0x6365e0]
mov dword [esp + 0x108], eax
lea eax, [0x8e70b0]
mov dword [esp + 0x10c], eax
lea eax, [0x686e00]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edi
lea eax, [esp + 0x108]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x8c]
mov dword [esp], eax
call fcn.00435e50
test eax, eax
jne 0x635ea9
mov edi, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
test eax, eax
setne al
mov byte [esp + 0x31], al
xor ecx, ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
jmp 0x635ed1
call fcn.00436440
add esp, 0x128
ret
movzx eax, byte [esp + 0x31]
mov edi, dword [esp + 0xfc]
movzx ecx, byte [esp + 0x30]
mov edx, esi
mov ebx, dword [esp + 0x38]
movzx ebp, byte [esp + 0x2f]
test cl, cl
jne 0x636112
mov byte [esp + 0x30], cl
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
mov edx, dword [edi]
mov ebx, dword [edi + 4]
mov ebp, dword [edi + 8]
mov esi, dword [esp + 0xe8]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movzx ebx, byte [esp + 0x32]
test bl, bl
je 0x635fbf
mov ebp, dword [esp + 0x38]
mov esi, ebp
sub ebp, ecx
mov edi, ecx
sar ecx, 0x1f
sub esi, edi
mov esi, dword [esp + 0x3c]
sbb esi, ecx
test ebp, ebp
mov ecx, ebx
sete bl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x635fb6
test eax, eax
jne 0x635fb6
lea eax, [0x691a80]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call ecx
mov eax, dword [esp + 0x10]
xor ebp, ebp
sub ebp, eax
mov ecx, eax
sar eax, 0x1f
xor edx, edx
sub edx, ecx
mov esi, 0
sbb esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movzx ecx, byte [esp + 0x32]
test esi, esi
jge 0x635fc9
jmp 0x6360a1
mov ecx, ebx
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], esi
test eax, eax
jne 0x635fdf
movzx ebx, byte [esp + 0x30]
jmp 0x636073
mov dword [esp + 0x4c], eax
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.0046a440
mov eax, dword [esp + 0x12c]
movzx ecx, byte [eax + 0xc4]
mov byte [esp + 0x33], cl
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
call fcn.0046a7e0
movzx eax, byte [esp + 0x33]
test al, al
jne 0x6360ec
mov eax, dword [0x8e688c]
mov ecx, dword [esp + 0x4c]
cmp dword [0x8e6888], ecx
jne 0x6360cb
mov dword [esp], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004037d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x6360c7
movzx ecx, byte [esp + 0x32]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
xor eax, eax
xor edx, edx
mov ebx, 1
mov byte [esp + 0x30], bl
mov edi, dword [esp + 0xfc]
mov ebx, dword [edi + 8]
mov edi, dword [edi]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x6363e9
jmp 0x636587
test eax, eax
je 0x635eb5
jmp 0x63655f
mov eax, dword [0x8e6b78]
mov ecx, dword [0x8e6b7c]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
call fcn.00436440
add esp, 0x128
ret
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x138], eax
call fcn.00436440
add esp, 0x128
ret
mov eax, dword [0x8e6b98]
mov ecx, dword [0x8e6b9c]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
call fcn.00436440
add esp, 0x128
ret
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x63636d
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.0046a440
mov eax, dword [esp + 0x130]
mov eax, dword [eax + 0x58]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ebx
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
call fcn.0046a7e0
mov eax, dword [esp + 0x134]
test eax, eax
jne 0x636361
mov eax, dword [esp + 0xe0]
lea ecx, [eax + 0xb8]
mov dword [esp + 0xf4], ecx
mov dword [esp], ecx
call fcn.0046a440
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
lea eax, [0x6365a0]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x104], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00435e50
test eax, eax
jne 0x636355
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x6361f0
mov ecx, dword [eax]
jmp 0x6361f2
xor ecx, ecx
test ecx, ecx
jg 0x6361fe
xor ebp, ebp
xor esi, esi
xor ebx, ebx
jmp 0x63623f
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00637d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
test edx, edx
jne 0x636349
test ebp, ebp
je 0x636291
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
call fcn.00635970
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
jmp 0x6362ff
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0xc4]
mov edx, dword [esp + 0x12c]
mov edx, dword [edx + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0062a710
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 0xc0]
mov dword [esp], eax
call fcn.005f7340
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x63633d
mov eax, dword [esp + 0x134]
test eax, eax
jne 0x63633d
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
call fcn.00436440
add esp, 0x128
ret
call fcn.00436440
add esp, 0x128
ret
call fcn.00436440
add esp, 0x128
ret
call fcn.00436440
add esp, 0x128
ret
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
call fcn.00436440
add esp, 0x128
ret
mov dword [esp + 0xec], eax
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
call fcn.0046a7e0
mov eax, dword [esp + 0x12c]
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
movzx ecx, byte [esp + 0x32]
mov esi, dword [esp + 0x3c]
mov ebp, edi
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0x58]
test ebp, ebp
je 0x636094
test eax, eax
jne 0x636094
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0xd8], edi
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.00636680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x636545
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe0]
lea ecx, [eax + 0xb8]
mov dword [esp + 0xf0], ecx
mov dword [esp], ecx
call fcn.0046a440
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
jb 0x636582
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x636579
sub ebx, ecx
mov dword [esp + 0x40], ebx
mov eax, edx
sub edx, ecx
mov dword [esp + 0x44], edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov esi, dword [esp + 0xd8]
add edx, esi
mov dword [esp + 0xd8], edx
movzx edi, byte [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
je 0x6364b5
test ebx, ebx
jne 0x6364b5
movzx edi, byte [esp + 0x31]
xor edi, 1
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
jmp 0x6364c3
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0xe0]
mov ebx, dword [edx + 0xc4]
mov ebp, dword [esp + 0x12c]
mov edi, dword [ebp + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], edi
movzx ebx, byte [esp + 0x2f]
mov byte [esp + 8], bl
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0062a710
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x63638f
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0xc0]
mov dword [esp], ecx
call fcn.005f7340
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x63638f
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ebx
call fcn.00436440
add esp, 0x128
ret
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], edx
call fcn.00436440
add esp, 0x128
ret
mov eax, ecx
mov ecx, ebx
call fcn.004631b0
call fcn.00463190
mov ecx, ebp
mov edx, ebx
call fcn.00463190
nop
call fcn.00461cc0
jmp fcn.00635b30