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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x618f5e
sub esp, 0x88
lea edi, [esp + 0x4c]
xor eax, eax
call fcn.0044cd11
lea edi, [esp + 0x4c]
call fcn.0044cd11
lea ecx, [0x7dc4dc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 3
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x618f44
mov eax, dword [ecx + 8]
cmp eax, 0x29cb474c
jne 0x618f39
lea edx, [0x7ada40]
cmp edx, ecx
jne 0x618f2f
mov ebx, dword [esp + 0x90]
je 0x618eb9
cmp eax, 0x7ade63e2
jne 0x618f44
lea eax, [0x7d11e0]
cmp eax, ecx
jne 0x618eaf
mov ebx, dword [esp + 0x90]
jne 0x618f44
mov ebp, dword [ebx + 0x1c]
mov dword [esp + 0x4c], ebp
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], esi
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x5c], ebp
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x50], 0xc8
movzx ebx, byte [ebx + 0x40]
mov byte [esp + 0x80], bl
xor ebx, ebx
mov byte [esp + 0x33], bl
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jne 0x61872f
mov ebp, dword [esp + 0x60]
test ebp, ebp
jne 0x61872f
mov dword [esp + 0x5c], 1
mov dword [esp + 0x60], 1
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00618f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x618e9a
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebp
movzx ebp, byte [esp + 0x33]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.006193a0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test eax, eax
jne 0x618e85
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
movzx eax, byte [esp + 0x33]
test al, al
je 0x6187d5
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
cmp eax, 4
jne 0x6187d5
mov eax, dword [ecx]
cmp eax, 0x44414548
je 0x618e03
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call fcn.00619a90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x84], eax
test edx, edx
jne 0x618dee
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 8]
cmp edx, 0x29cb474c
jne 0x618de6
lea edx, [0x7ada40]
cmp edx, ecx
jne 0x618dd9
mov ebx, dword [esp + 0x34]
cmp ebx, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
cmp esi, 0xffffffff
sete dl
and edx, ebp
test dl, dl
je 0x6188ac
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
test ebp, ebp
jle 0x618dd2
mov ebp, dword [edx]
mov edx, dword [edx + 4]
cmp edx, 7
jne 0x618dcb
mov edx, dword [ebp]
cmp edx, 0x6e756863
jne 0x618dc4
movzx edx, word [ebp + 4]
cmp dx, 0x656b
jne 0x618dbd
movzx edx, byte [ebp + 6]
cmp dl, 0x64
sete dl
test dl, dl
je 0x618d88
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
test ebp, ebp
jle 0x618d81
mov ebp, dword [edx]
mov edx, dword [edx + 4]
cmp edx, 7
jne 0x618d7a
mov edx, dword [ebp]
cmp edx, 0x6e756863
jne 0x618d73
movzx edx, word [ebp + 4]
cmp dx, 0x656b
jne 0x618d6c
movzx edx, byte [ebp + 6]
cmp dl, 0x64
sete dl
test dl, dl
je 0x618bdc
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp ebx, 4
jne 0x618bd5
mov edx, dword [edx]
cmp edx, 0x44414548
sete dl
test dl, dl
je 0x618adb
lea edx, [0x8facf0]
mov dword [esp + 0x64], edx
lea edx, [0xbc70a8]
mov dword [esp + 0x68], edx
mov edx, dword [ecx + 8]
cmp edx, 0x29cb474c
jne 0x618a10
lea ebx, [0x7ada40]
cmp ebx, ecx
jne 0x618ad1
mov eax, dword [esp + 0x90]
jne 0x618a10
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [eax + 0x20], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x6189fd
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov dword [eax + 0x34], edx
mov dword [eax + 0x38], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x6189ed
mov dword [eax + 0x30], ebx
movzx ecx, byte [esp + 0x80]
mov byte [eax + 0x3c], cl
mov ecx, dword [0xbc7270]
mov edx, dword [esp + 0x84]
test ecx, ecx
jne 0x6189e1
mov dword [eax + 0x40], edx
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x88
ret
lea edi, [eax + 0x40]
mov eax, edx
call fcn.0044cc20
jmp 0x6189c4
lea edi, [eax + 0x30]
mov ecx, eax
mov eax, ebx
call fcn.0044cc20
mov eax, ecx
jmp 0x6189a5
lea edi, [eax + 0x24]
mov edx, eax
mov eax, ecx
call fcn.0044cc20
mov eax, edx
jmp 0x618978
cmp edx, 0x7ade63e2
jne 0x6189c4
lea edx, [0x7d11e0]
cmp edx, ecx
jne 0x618ac7
mov eax, dword [esp + 0x90]
jne 0x6189c4
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [eax + 0x20], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x618ab7
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ebx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x618aa7
mov dword [eax + 0x34], edx
movzx ecx, byte [esp + 0x80]
mov byte [eax + 0x40], cl
mov ecx, dword [0xbc7270]
mov edx, dword [esp + 0x84]
test ecx, ecx
jne 0x618a98
mov dword [eax + 0x58], edx
jmp 0x6189c4
lea edi, [eax + 0x58]
mov eax, edx
call fcn.0044cc20
jmp 0x6189c4
lea edi, [eax + 0x34]
mov ecx, eax
mov eax, edx
call fcn.0044cc20
mov eax, ecx
jmp 0x618a74
lea edi, [eax + 0x24]
mov edx, eax
mov eax, ecx
call fcn.0044cc20
mov eax, edx
jmp 0x618a47
mov eax, 0
jmp 0x618a2d
mov eax, 0
jmp 0x618956
mov edx, dword [esp + 0x50]
lea ebx, [edx - 0x64]
cmp ebx, 0x63
jbe 0x61891e
cmp edx, 0xcc
je 0x61891e
cmp edx, 0x130
je 0x61891e
lea eax, [0x8f84f0]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
call fcn.005cf9d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
lea edx, [0x7bc140]
mov dword [esp], edx
call fcn.00409dc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x618bc3
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 8], ecx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x618b9b
mov edx, dword [esp + 0x90]
mov dword [eax + 0xc], edx
mov ebx, dword [esp + 0x94]
mov dword [eax + 0x10], ebx
movzx ebx, byte [esp + 0x80]
mov byte [eax + 0x14], bl
lea ebx, [0x8fa530]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], eax
jmp 0x618932
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x90]
call fcn.0044cc20
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x94]
call fcn.0044cc20
mov eax, edx
mov edx, ebx
jmp 0x618b7d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.0044cc20
mov eax, ecx
jmp 0x618b55
xor edx, edx
jmp 0x618916
test ebx, ebx
sete dl
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x618c09
lea edx, [0x8facf0]
mov dword [esp + 0x64], edx
lea edx, [0xbc70a8]
mov dword [esp + 0x68], edx
jmp 0x618932
test ebx, ebx
seta dl
and edx, ebp
test esi, esi
xchg ebp, ebx
setg bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x618cb2
movzx edx, byte [esp + 0x80]
test dl, dl
jne 0x618c4a
lea edx, [0x8facf0]
mov dword [esp + 0x64], edx
lea edx, [0xbc70a8]
mov dword [esp + 0x68], edx
jmp 0x618932
lea eax, [0x7bc140]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 4]
lea ecx, [0x8f84f0]
mov dword [eax], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x618c9d
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
movzx edx, byte [esp + 0x80]
mov byte [eax + 0x14], dl
lea edx, [0x8fa530]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x8c]
jmp 0x618932
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0044cc20
mov eax, ecx
jmp 0x618c78
lea eax, [0x791960]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 4]
lea ecx, [0x8f84f0]
mov dword [eax], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x618d54
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0xc], ecx
lea ecx, [0x7bc140]
mov dword [esp], ecx
call fcn.00409dc0
mov eax, dword [esp + 4]
lea ecx, [0x8f8a50]
mov dword [eax], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x618d42
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
movzx edx, byte [esp + 0x80]
mov byte [eax + 0x14], dl
lea edx, [0x8fa530]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x8c]
jmp 0x618932
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x44]
call fcn.0044cc20
mov eax, ecx
jmp 0x618d1d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0044cc20
mov eax, ecx
jmp 0x618ce0
xor edx, edx
jmp 0x6188f2
xor edx, edx
jmp 0x6188f2
xor edx, edx
jmp 0x6188f2
xor edx, edx
jmp 0x6188f2
mov edx, dword [esp + 0x50]
lea ebp, [edx - 0x64]
cmp ebp, 0x63
jbe 0x6188ac
cmp edx, 0xcc
je 0x6188ac
cmp edx, 0x130
je 0x6188ac
mov byte [esp + 0x80], 1
jmp 0x6188ac
xor edx, edx
jmp 0x6188a4
xor edx, edx
jmp 0x6188a4
xor edx, edx
jmp 0x6188a4
xor edx, edx
jmp 0x6188a4
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x6188ac
lea edx, [0x7ada40]
jmp 0x618dd9
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
add esp, 0x88
ret
mov eax, dword [esp + 0x4c]
lea ecx, [0x7c5ee0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x7df7ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xe
call fcn.0040e5c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x618e7f
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0061a890
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x618e6a
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
jmp 0x6187dd
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x88
ret
xor ecx, ecx
xor eax, eax
jmp 0x618e3d
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x88
ret
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x88
ret
mov ebx, 0
jmp 0x6186ce
mov dword [esp + 0x40], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x4c], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x5c], ecx
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x60], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 0xc], 1
call fcn.00619950
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x80], al
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x618f12
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
lea eax, [0x7d11e0]
mov ecx, dword [esp + 0x8c]
lea edx, [0x7ada40]
mov ebx, 1
jmp 0x61870b
mov ebx, 0
jmp 0x6186a8
lea edx, [0x7ada40]
jmp 0x6186ae
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7220]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.0044b4c0
jmp fcn.00618630