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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x614599
sub esp, 0x10c
lea eax, [0x76b5e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [0x77bf8d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040f930
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x61453d
mov dword [esp + 0x5c], eax
lea ecx, [0x7306e0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.004436c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [0x76b5e0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea ecx, [0x77bf8d]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040f930
lea eax, [esp + 0x18]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov dword [esp + 0x6c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x9c], ecx
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xa4]
xor edi, edi
jmp 0x613a0e
mov ebx, dword [esp + 0x68]
inc ebx
mov ebp, eax
mov esi, edx
mov edi, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x614521
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x58], edi
lea eax, [ecx + ebx*8]
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004f0590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x77a306]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004eeac0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ecx, 1
jne 0x613aa6
mov edx, dword [eax + 4]
test edx, edx
jne 0x613aa6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x6139f1
test ecx, ecx
jbe 0x614591
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004f0590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], eax
mov edx, dword [0xc98a20]
test edx, edx
jne 0x614511
mov dword [edi], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x77a308]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004f0d40
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x613b26
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x6139f1
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x61458c
lea eax, [ecx + 1]
cmp eax, edx
ja 0x614585
mov dword [esp + 0x40], ecx
mov dword [esp + 0x7c], ebp
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [edx + ebp]
test ecx, ecx
jne 0x6144c9
xor edx, edx
test dl, dl
jne 0x613b7d
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x6139f1
mov dword [esp], eax
mov dword [esp + 4], esi
mov byte [esp + 8], 1
call fcn.00616540
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
jne 0x613bb3
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x6139f1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x74], edx
lea eax, [0x765ce0]
mov dword [esp], eax
call fcn.0040ab90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0xc98a20]
test ecx, ecx
jne 0x6144b7
mov edx, dword [esp + 0x7c]
mov dword [eax], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0xc], edx
mov edx, dword [0xc98a20]
test edx, edx
jne 0x6144a2
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x4c], edx
mov edx, dword [0xc98a20]
test edx, edx
jne 0x61448a
mov edx, dword [esp + 0x88]
mov dword [eax + 0x48], edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x44]
mov ecx, 1
jmp 0x613c50
lea ebp, [eax + 1]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x8c]
mov edx, ecx
mov ebx, esi
mov ecx, ebp
cmp ecx, ebx
jge 0x61440f
jae 0x61457c
mov dword [esp + 0x50], ecx
lea eax, [edx + ecx*8]
mov dword [esp + 0x94], eax
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004f0590
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [edx], ebx
mov edx, dword [0xc98a20]
test edx, edx
jne 0x6143f6
mov edx, dword [esp + 0x94]
mov dword [edx], ebp
test ebx, ebx
je 0x613c3c
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x77a308]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004f0d40
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x6143e2
mov edx, dword [esp + 0x64]
cmp ecx, edx
ja 0x614577
lea eax, [ecx + 1]
cmp eax, edx
ja 0x614570
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004efcf0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov byte [esp + 8], 0
call fcn.00616540
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
je 0x614313
mov ebx, dword [esp + 0x48]
cmp ebx, 6
jg 0x613f1a
cmp ebx, 4
jne 0x613e90
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x68746170
jne 0x613dc2
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ebx, dword [0xc98a20]
test ebx, ebx
jne 0x613db2
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, edx
call fcn.004599b0
mov eax, ecx
jmp 0x613da2
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x50]
lea esi, [ebx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x94]
mov edi, ebp
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp esi, edx
ja 0x613e21
lea edx, [ecx + 1]
mov dword [eax + 0x54], edx
lea edx, [edi + ecx*8 + 4]
mov dword [edx], ebp
mov edx, dword [0xc98a20]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x613e14
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
mov ecx, eax
mov eax, ebx
call fcn.004599b0
mov eax, ecx
jmp 0x613e04
mov dword [esp + 0x64], ebp
mov dword [esp + 0x90], ebx
lea eax, [0x7269c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00443780
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0xc98a20]
test edx, edx
jne 0x613e86
mov dword [ebx + 0x50], eax
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x613de9
lea edi, [ebx + 0x50]
call fcn.004599b0
jmp 0x613e6d
cmp ebx, 6
jne 0x613dc2
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x616d6f64
jne 0x613ee7
cmp word [ebx + 4], 0x6e69
jne 0x613ee7
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x1c], ecx
mov ebx, dword [0xc98a20]
test ebx, ebx
jne 0x613ed7
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, edx
call fcn.004599b0
mov eax, ecx
jmp 0x613ec7
cmp dword [ebx], 0x75636573
jne 0x613dc2
cmp word [ebx + 4], 0x6572
jne 0x613dc2
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x40], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
cmp ebx, 7
jne 0x614228
mov dword [esp + 0x38], ecx
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x69707865
jne 0x613f4c
cmp word [ebx + 4], 0x6572
jne 0x613f4c
cmp byte [ebx + 6], 0x73
je 0x613fce
cmp dword [ebx], 0x2d78616d
jne 0x613dc2
cmp word [ebx + 4], 0x6761
jne 0x613dc2
cmp byte [ebx + 6], 0x65
jne 0x613dc2
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00467530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x613dc2
test ecx, ecx
je 0x613fa9
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x614567
mov edx, dword [esp + 0x70]
cmp byte [edx], 0x30
je 0x613dc2
test ecx, ecx
jg 0x613fca
mov eax, 0xffffffff
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
mov eax, ecx
jmp 0x613fb0
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x38], ecx
mov ebp, dword [0xc98a20]
test ebp, ebp
jne 0x614219
mov dword [ebx + 0x34], edx
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.00459c4b
lea ecx, [0x784985]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov ebp, dword [0xc7ffe8]
mov dword [esp + 0x10], ebp
mov ebp, dword [0xc7ffe4]
mov dword [esp + 0x14], ebp
call fcn.004aa130
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0xe4]
mov esi, dword [esp + 0xa0]
call fcn.0045a12e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xe4]
call fcn.0045a12e
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x614160
lea edi, [esp + 0xbc]
lea esi, [esp + 0xd0]
call fcn.0045a12e
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.00459c4b
nop
nop
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
test edx, 0x80000000
je 0x6140ec
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
shr ebx, 0x1f
mov edx, ecx
shl ecx, 1
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0xc4], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xc8], edx
and dword [esp + 0xbc], 0x3fffffff
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0045a12e
mov eax, dword [esp + 0x8c]
lea edi, [eax + 0x20]
mov ecx, dword [0xc98a20]
test ecx, ecx
jne 0x61413a
lea esi, [esp + 0xa8]
call fcn.0045a12e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
lea eax, [0x777120]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00410ad0
mov eax, dword [esp + 0x8c]
jmp 0x61412a
lea edi, [esp + 0xf8]
xor eax, eax
call fcn.00459c4b
lea ecx, [0x7849a2]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
mov edx, dword [0xc7ffe8]
mov dword [esp + 0x10], edx
mov edx, dword [0xc7ffe4]
mov dword [esp + 0x14], edx
call fcn.004aa130
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0xf8]
mov esi, dword [esp + 0xa0]
call fcn.0045a12e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xf8]
call fcn.0045a12e
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x614067
mov ecx, dword [esp + 0x8c]
lea edi, [ecx + 0x20]
mov edx, dword [0xc98a20]
test edx, edx
jne 0x614202
xor eax, eax
call fcn.00459c4b
jmp 0x613dc2
lea eax, [0x777120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410f00
jmp 0x613dc2
lea edi, [ebx + 0x34]
mov eax, edx
call fcn.004599b0
jmp 0x613fe9
cmp ebx, 8
jne 0x613dc2
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x70747468
jne 0x614264
cmp dword [ebx + 4], 0x796c6e6f
jne 0x614264
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x41], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
cmp dword [ebx], 0x656d6173
jne 0x613dc2
cmp dword [ebx + 4], 0x65746973
jne 0x613dc2
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004efcf0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp eax, 3
jne 0x6142d1
cmp word [ecx], 0x616c
jne 0x6142c1
cmp byte [ecx + 2], 0x78
jne 0x6142c1
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 2
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 1
jmp 0x6142b1
cmp eax, 4
jne 0x6142ee
cmp dword [ecx], 0x656e6f6e
jne 0x6142c1
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 4
jmp 0x6142b1
cmp eax, 6
jne 0x6142c1
cmp dword [ecx], 0x69727473
jne 0x6142c1
cmp word [ecx + 4], 0x7463
jne 0x6142c1
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 3
jmp 0x6142b1
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp esi, ebp
ja 0x614373
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], ebx
lea edi, [edi + ecx*8]
mov ebx, dword [0xc98a20]
test ebx, ebx
jne 0x614366
mov dword [edi], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x613c3c
mov ecx, eax
mov eax, edx
call fcn.004599b0
mov eax, ecx
jmp 0x614356
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], edx
lea eax, [0x7269c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00443780
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0xc98a20]
test edx, edx
jne 0x6143d8
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x61433a
lea edi, [ebx + 0x50]
call fcn.004599b0
jmp 0x6143bf
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
xor edx, edx
xor ebx, ebx
jmp 0x613d11
mov edi, dword [esp + 0x94]
mov edx, eax
mov eax, ebp
call fcn.004599b0
mov eax, edx
mov edx, edi
jmp 0x613cad
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
ja 0x614449
mov ebp, dword [esp + 0x98]
mov esi, dword [0xc98a20]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x614442
mov dword [ebp + ecx*4], eax
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x6139f1
call fcn.004599b0
jmp 0x614437
lea eax, [0x7306e0]
mov dword [esp], eax
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00443780
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
jmp 0x614425
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.004599b0
mov eax, ecx
jmp 0x613c23
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.004599b0
mov eax, ecx
jmp 0x613c04
mov edi, eax
mov eax, dword [esp + 0x7c]
call fcn.004599b0
mov eax, edi
jmp 0x613be8
mov dword [esp + 0x64], esi
mov dword [esp + 0x74], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea eax, [0x797310]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004f00b0
mov eax, dword [esp + 0x10]
test eax, eax
setl dl
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x64]
jmp 0x613b65
mov edx, eax
mov eax, ecx
call fcn.004599b0
mov eax, edx
jmp 0x613aec
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], ebp
add esp, 0x10c
ret
lea eax, [0xc98804]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0x10c
ret
xor eax, eax
mov ecx, edx
call fcn.00459a30
mov ecx, edx
call fcn.00459a90
call fcn.00459a50
mov eax, ecx
mov ecx, ebx
call fcn.00459a30
mov ecx, edx
call fcn.00459a90
call fcn.00459a50
xor eax, eax
call fcn.00459a30
nop
call fcn.00458170
jmp fcn.00613910