Function at 0x617340
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x617e1b
sub esp, 0xcc
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00614df0
movzx eax, byte [esp + 4]
test al, al
jne 0x617de9
lea edi, [esp + 0x60]
xor eax, eax
call fcn.0044cadb
lea edi, [esp + 0x88]
call fcn.0044cadb
call fcn.0047df30
lea edi, [esp + 0x74]
mov esi, esp
call fcn.0044cfbe
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x20]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
test ebp, ebp
mov eax, ecx
setne cl
or ecx, esi
test cl, cl
je 0x617dde
lea ecx, [esp + 0x1c]
mov dword [esp + 0x5c], ecx
test ebx, ebx
setne dl
test ebp, ebp
mov esi, ecx
setne cl
or ecx, edx
test cl, cl
jne 0x617da6
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
test edx, edx
setne bl
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x617d6d
mov ecx, dword [eax + 8]
lea edi, [esp + 4]
mov dword [esp + 0x5c], edi
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x40], ecx
lea esi, [esp + 0x88]
call fcn.0044cfbe
mov dword [esp], edx
mov ecx, dword [esp + 0x40]
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
test edx, edx
setne bl
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x617d2e
mov ecx, dword [eax]
mov edx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jle 0x617d24
mov ebx, ecx
add ecx, 0x1000
mov dword [edx + 0x18], ecx
mov ecx, ebx
sar ebx, 0x1f
add ecx, 0x1000
adc ebx, 0
mov dword [edx + 0x1c], ebx
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
cmp ecx, 4
jne 0x6174c5
mov ecx, dword [edx]
cmp ecx, 0x54534f50
je 0x617ccf
mov ecx, dword [eax + 0x28]
mov dword [esp], ecx
mov byte [esp + 4], 0
call fcn.00611ea0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
test edx, edx
jne 0x617c5e
mov ecx, dword [eax + 0x14]
cmp ecx, 1
jne 0x617bec
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [esp + 0xd0]
mov dword [ebx + 0x34], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x617bd9
mov dword [ebx + 0x30], edx
mov dword [esp + 0x48], eax
mov ecx, dword [ebx + 0x24]
mov dword [ecx + 0x18], 0xffffffff
mov dword [ecx + 0x1c], 0x7fffffff
mov ecx, dword [eax + 0x1c]
mov dword [esp + 4], ecx
lea ecx, [0x77b5a0]
mov dword [esp], ecx
lea edx, [0x78fda8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.0040e9d0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x48]
mov ebp, dword [ebx]
mov dword [esp + 0x58], ebp
mov esi, dword [ebx + 4]
cmp esi, 3
jne 0x617bd0
mov edi, edx
movzx edx, word [ebp]
cmp dx, 0x5250
jne 0x617bc9
movzx edx, byte [ebp + 2]
cmp dl, 0x49
jne 0x617bc2
mov edx, dword [ebx + 0x1c]
test edx, edx
je 0x617bbb
mov edx, dword [edx]
test edx, edx
jne 0x617bb4
mov edx, dword [ebx + 8]
mov ebp, dword [edx + 0x20]
mov edx, dword [edx + 0x1c]
cmp ebp, 1
jne 0x617bad
movzx edx, byte [edx]
cmp dl, 0x2a
sete dl
test dl, dl
je 0x617ba6
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 0x10]
cmp ebp, 8
jne 0x617b9f
mov ebp, dword [edx]
cmp ebp, 0x50545448
jne 0x617b98
mov edx, dword [edx + 4]
cmp edx, 0x302e322f
sete dl
mov ebp, dword [ebx + 0x14]
cmp ebp, 1
jle 0x617b7d
mov ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x617629
test cl, cl
je 0x617621
test eax, eax
jne 0x617629
test dl, dl
je 0x617b20
cmp eax, 1
jg 0x617aee
mov byte [esp + 0x31], dl
je 0x617a99
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0044cad4
lea ecx, [0x77b5a0]
mov dword [esp], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
lea edx, [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.0040b870
jmp 0x6176e9
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jge 0x6176da
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.005d79e0
movzx eax, byte [esp + 8]
test al, al
jne 0x617674
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc38]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
lea eax, [esp + 0x9c]
mov dword [esp], eax
call fcn.0040baf0
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x61775b
mov ecx, dword [esp + 0xa0]
mov edx, dword [eax]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x34], ebx
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005d78d0
movzx eax, byte [esp + 8]
test al, al
je 0x617729
xor eax, eax
jmp 0x61767b
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc30]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 4], ecx
lea ecx, [0x77b5a0]
mov dword [esp], ecx
lea ecx, [0x78fda8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.0040f0d0
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
call fcn.00530a30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov dword [ebx + 0x78], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x617a8c
mov dword [ebx + 0x7c], eax
mov ecx, dword [esp + 0xd0]
mov ebp, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x60], ebp
mov ebp, dword [0xa8f2d0]
test ebp, ebp
jne 0x617a7f
mov dword [ebx + 0x5c], eax
mov ebp, dword [0xa8f2d0]
mov eax, dword [ecx + 0x18]
test ebp, ebp
jne 0x617a72
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x20]
mov esi, edx
lea edx, [0x7ffc40]
cmp ebp, edx
jne 0x617a68
mov dword [esp + 0x50], esi
jne 0x617819
mov byte [eax + 0x15], 1
mov edi, esp
lea esi, [esp + 0x88]
call fcn.0044cfbe
lea edi, [esp + 0x14]
lea esi, [esp + 0x60]
call fcn.0044cfbe
call fcn.0047bb80
movzx eax, byte [esp + 0x28]
test al, al
je 0x617a39
call fcn.0040a780
mov eax, dword [esp]
mov dword [esp + 0x54], eax
lea ecx, [0x71b560]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00403b40
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call fcn.006139e0
movzx eax, byte [esp + 4]
mov byte [esp + 0x33], al
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call fcn.00613a90
movzx eax, byte [esp + 4]
mov byte [esp + 0x32], al
lea ecx, [0x7806a0]
mov dword [esp], ecx
call fcn.00409d00
mov edi, dword [esp + 4]
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x617a06
mov ecx, dword [esp + 0xd0]
mov dword [edi], ecx
mov ecx, dword [esp + 0x50]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x48]
mov dword [edi + 4], ecx
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x20]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x6179e7
mov dword [edi + 0xc], eax
mov ecx, dword [esp + 0x54]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x38], 0xffffffff
mov dword [edi + 0x3c], 0xffffffff
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x6179cb
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0x84], ecx
movzx ecx, byte [esp + 0x33]
mov byte [edi + 0x16], cl
movzx ecx, byte [esp + 0x32]
mov byte [edi + 0x17], cl
mov dword [esp + 0xdc], edi
movzx ecx, byte [esp + 0x31]
test cl, cl
je 0x61793c
mov byte [edi + 0x44], 1
mov eax, dword [esp + 0xdc]
test byte [eax], al
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x6179c1
mov dword [eax + 0x1c], eax
mov eax, dword [esp + 0xdc]
test byte [eax], al
lea ecx, [0x7fe5c0]
mov dword [esp], ecx
add eax, 0x1c
mov dword [esp + 4], eax
mov dword [esp + 8], 0x800
call fcn.00616a30
mov eax, dword [esp + 0xdc]
test byte [eax], al
mov ecx, dword [0xa8f2d0]
mov edx, dword [esp + 0xc]
test ecx, ecx
jne 0x6179b5
mov dword [eax + 0x18], edx
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
nop
call fcn.00427260
add esp, 0xcc
ret
lea edi, [eax + 0x18]
mov eax, edx
call fcn.0044c9e0
jmp 0x617992
lea edi, [eax + 0x1c]
call fcn.0044c9e0
jmp 0x617952
lea ecx, [edi + 0x84]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x4c]
call fcn.0044c9e0
mov edi, edx
jmp 0x617918
lea ecx, [edi + 0xc]
mov edx, edi
mov edi, ecx
call fcn.0044c9e0
lea edi, [edx + 0x28]
mov eax, dword [esp + 0x54]
call fcn.0044c9e0
mov edi, edx
jmp 0x6178f2
mov eax, dword [esp + 0xd0]
call fcn.0044c9e0
lea edx, [edi + 0x10]
mov eax, edi
mov edi, edx
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.0044c9e0
lea edi, [ecx + 4]
mov eax, dword [esp + 0x48]
call fcn.0044c9e0
mov edi, ecx
mov ecx, eax
jmp 0x6178d1
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0x5c]
lea esi, [esp + 0x60]
call fcn.0044cfbe
mov dword [esp], edx
mov ecx, dword [esp + 0x40]
call ecx
jmp 0x617846
mov eax, 0
jmp 0x61780f
lea edi, [ebx + 0x6c]
call fcn.0044c9e0
jmp 0x6177f9
lea edi, [ebx + 0x5c]
call fcn.0044c9e0
jmp 0x6177e5
lea edi, [ebx + 0x7c]
call fcn.0044c9e0
jmp 0x6177c4
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005d7980
movzx eax, byte [esp + 8]
test al, al
je 0x617abc
mov ebx, dword [esp + 0x48]
jmp 0x61763c
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc28]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc20]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
cmp esi, 7
jne 0x617b4b
mov ecx, dword [esp + 0x58]
mov ebp, dword [ecx]
cmp ebp, 0x4e4e4f43
jne 0x617b4b
movzx ebp, word [ecx + 4]
cmp bp, 0x4345
jne 0x617b4b
movzx ecx, byte [ecx + 6]
cmp cl, 0x54
je 0x617629
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc18]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
jne 0x617b91
mov ebp, dword [ebx + 0x18]
cmp ebp, 1
xchg ebp, ebx
setge bl
xchg ebp, ebx
jmp 0x617613
xor ebp, ebp
jmp 0x617613
xor edx, edx
jmp 0x617602
xor edx, edx
jmp 0x617602
xor edx, edx
jmp 0x617602
xor edx, edx
jmp 0x6175d1
xor edx, edx
jmp 0x617602
xor edx, edx
jmp 0x6175ae
xor edx, edx
jmp 0x617602
xor edx, edx
jmp 0x617602
mov edi, edx
xor edx, edx
jmp 0x617602
lea edi, [ebx + 0x30]
mov ecx, eax
mov eax, edx
call fcn.0044c9e0
mov eax, ecx
jmp 0x617523
cmp ecx, 2
jne 0x617c2c
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x617c2c
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, 3
jne 0x617c2c
movzx ecx, word [edx]
cmp cx, 0x5250
jne 0x617c2c
movzx ecx, byte [edx + 2]
cmp cl, 0x49
jne 0x617c2c
mov ecx, dword [eax + 0x68]
mov edx, dword [eax + 0x64]
cmp ecx, 1
jne 0x617c2c
movzx ecx, byte [edx]
cmp cl, 0x2a
je 0x617503
mov dword [esp + 0xdc], 0
lea eax, [0x7fee60]
mov dword [esp + 0xe0], eax
lea eax, [0x7fcc10]
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
test eax, eax
sete dl
test ecx, ecx
setbe cl
and edx, ecx
test eax, eax
setl al
or edx, eax
test dl, dl
je 0x617cb7
mov eax, dword [0xa7d324]
mov ecx, dword [0xa7d320]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
mov dword [esp + 0xdc], 0
nop
call fcn.00427260
add esp, 0xcc
ret
mov ecx, dword [eax + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], 4
call fcn.005b4e60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0061f380
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.005b5010
mov eax, dword [esp + 0xd0]
jmp 0x6174c5
mov ecx, 0x100000
jmp 0x617490
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp], 0xc
lea ecx, [0x7aef7c]
mov dword [esp + 4], ecx
call fcn.00426aa0
test eax, eax
jne 0x617d60
mov eax, dword [esp + 0xd0]
jmp 0x617480
nop
call fcn.00427260
add esp, 0xcc
ret
mov dword [esp + 0x38], ecx
mov edi, esp
lea esi, [esp + 0x74]
call fcn.0044cfbe
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
call fcn.0047d4a0
lea edi, [esp + 0x60]
mov esi, dword [esp + 0x5c]
call fcn.0044cfbe
mov eax, dword [esp + 0xd0]
jmp 0x61742d
mov edi, esp
lea esi, [esp + 0x74]
call fcn.0044cfbe
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
call fcn.0047d4a0
lea edi, [esp + 0x88]
mov esi, dword [esp + 0x5c]
call fcn.0044cfbe
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0x5c]
jmp 0x61740b
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x18]
jmp 0x6173ed
mov eax, dword [0xa7d274]
mov ecx, dword [0xa7d270]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
nop
call fcn.00427260
add esp, 0xcc
ret
call fcn.0044b280
jmp fcn.00617340