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

Disassembly:
mov eax, 0x2138
call fcn.004ceaf0
push ebp
push edi
mov edi, ecx
mov dword [esp + 8], edi
mov bp, word [edi + 0x160]
mov ax, word [edi + 0x162]
cmp bp, ax
mov dword [esp + 0x20], ebp
jne 0x497af4
xor eax, eax
pop edi
pop ebp
add esp, 0x2138
ret
push esi
push ebx
xor ebx, ebx
mov dword [esp + 0x14], eax
mov byte [edi + 0x1c], bl
xor esi, esi
mov ecx, ebp
mov word [edi + 0x164], bx
mov word [edi + 0x168], bx
call fcn.004868d0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.004868d0
cmp word [esp + 0x1c], ax
je 0x497b32
cmp esi, ebx
jne 0x497b32
xor esi, esi
jmp 0x497b37
mov esi, 1
movsx eax, word [edi + 4]
movsx ecx, word [edi + 6]
movsx edx, word [edi + 8]
movsx edi, word [edi + 0xa]
shl eax, 8
shl ecx, 8
shl edx, 8
shl edi, 8
cmp esi, ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], edi
je 0x497b7f
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
mov eax, ebp
mov dword [esp + 0x38], ecx
jmp 0x497b8f
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebp
lea edx, [esp + 0x60]
mov word [esp + 0x7a], ax
lea ecx, [esp + 0x90]
and eax, 0xffff
mov dword [0x6846ac], edx
mov edx, dword [0x6844a0]
mov dword [esp + 0x18], ecx
mov ecx, 0x400000
shl eax, 6
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], ecx
lea eax, [eax + edx + 0x449fc]
lea ecx, [esp + 0x78]
mov dword [esp + 0x74], 0xffffffff
mov dword [0x6846a8], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], ebx
mov dword [eax + 8], ecx
mov eax, dword [0x6846a8]
lea edx, [esp + 0x78]
inc eax
mov byte [esp + 0x78], 0
mov dword [0x6846a8], eax
mov dword [eax*4 + 0x6844b0], edx
mov eax, dword [0x6846a8]
mov edx, dword [0x6846ac]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844b0]
mov dword [0x6844b0], edx
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jl 0x497c62
mov dword [ecx*4 + 0x6844b0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jge 0x497c43
mov dword [ecx*4 + 0x6844b0], esi
mov ecx, dword [0x6846a8]
xor esi, esi
cmp ecx, ebx
mov dword [esp + 0x30], esi
je 0x498102
mov eax, dword [0x6844b4]
mov esi, dword [ecx*4 + 0x6844b0]
dec ecx
mov dword [esp + 0x20], eax
mov eax, ecx
mov edi, 1
cdq
sub eax, edx
mov dword [0x6844b4], esi
sar eax, 1
cmp eax, edi
mov dword [0x6846a8], ecx
mov ebp, esi
jl 0x497cf7
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x497ccf
mov edx, dword [esi*4 + 0x6844b0]
mov ecx, dword [esi*4 + 0x6844b4]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x497ccf
inc esi
mov eax, dword [esi*4 + 0x6844b0]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x497cf7
mov dword [edi*4 + 0x6844b0], eax
mov ecx, dword [0x6846a8]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x497caf
mov esi, dword [esp + 0x20]
mov dword [edi*4 + 0x6844b0], ebp
mov cx, word [esi + 2]
cmp cx, word [esp + 0x38]
je 0x498102
mov ebp, esi
mov eax, dword [ebp + 4]
mov byte [ebp], 1
mov edx, dword [eax + 0xc]
mov si, word [eax + 2]
mov dword [esp + 0x44], edx
xor edx, edx
cmp si, word [esp + 0x1c]
mov dl, byte [eax + 6]
je 0x497d36
xor edx, edx
mov dl, byte [eax + 7]
cmp cx, word [esp + 0x28]
jne 0x497d4f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x497d76
cmp cx, word [esp + 0x14]
jne 0x497d68
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x497d76
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [0x6846a8]
mov dword [esp + 0x5c], edx
test edx, edx
jle 0x4980be
mov edx, dword [esp + 0x44]
mov esi, dword [0x6844a0]
mov ax, word [edx]
mov edx, eax
and edx, 0xffff
shl edx, 6
lea edi, [edx + esi + 0x449fc]
mov esi, dword [edx + esi + 0x44a04]
test esi, esi
jne 0x497efc
mov ecx, dword [esp + 0x18]
mov esi, ecx
add ecx, 0x18
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov word [esi + 2], ax
and ecx, 0xffff
movsx eax, ax
mov dword [esi + 4], edi
mov dword [esi + 8], ebp
cmp eax, ecx
mov dword [edi + 8], esi
jne 0x497deb
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x497e09
mov edx, dword [esp + 0x14]
and edx, 0xffff
cmp eax, edx
jne 0x497e03
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x497e09
mov ebp, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
push ebx
push eax
mov edx, ebp
call fcn.004cc540
mov cx, word [esp + 0x1c]
mov dword [esp + 0x54], eax
cmp word [edi + 2], cx
je 0x497e3c
shl eax, 9
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov edi, eax
jmp 0x497e40
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov ecx, ebp
push edx
mov edx, dword [esp + 0x44]
push ebx
call fcn.004cc540
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
mov byte [esi], 0
lea ecx, [edx + edi]
mov dword [esi + 0x10], ecx
add ecx, eax
mov eax, dword [0x6846a8]
mov dword [esi + 0x14], ecx
inc eax
mov dword [0x6846a8], eax
mov dword [eax*4 + 0x6844b0], esi
mov eax, dword [0x6846a8]
mov edx, dword [0x6846ac]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844b0]
mov dword [0x6844b0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x497eca
mov dword [ecx*4 + 0x6844b0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x497eab
mov dword [ecx*4 + 0x6844b0], esi
mov ecx, dword [0x6846a8]
cmp ecx, 0x7d
je 0x4980be
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x4980be
mov ebp, dword [esp + 0x20]
jmp 0x4980a2
cmp dword [ebp + 8], esi
je 0x4980a2
mov ax, word [esi + 2]
cmp ax, word [esp + 0x28]
jne 0x497f1a
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
jmp 0x497f34
cmp ax, word [esp + 0x14]
jne 0x497f2b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
jmp 0x497f34
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x28]
push eax
call fcn.004cc540
mov ecx, dword [esi + 4]
mov dx, word [esp + 0x1c]
cmp word [ecx + 2], dx
je 0x497f60
shl eax, 9
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov edi, dword [ebp + 0x10]
mov edx, dword [esi + 0x10]
mov ecx, eax
add ecx, edi
cmp ecx, edx
jge 0x49809c
mov dword [esi + 8], ebp
mov edx, dword [ebp + 0x10]
add eax, edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
add edx, eax
cmp byte [esi], 0
jne 0x498021
mov ebx, dword [esi + 0x14]
cmp ebx, edx
je 0x49808f
mov dword [esi + 0x14], edx
mov ecx, dword [0x6846a8]
test ecx, ecx
mov eax, ecx
jle 0x497fb8
lea edi, [ecx*4 + 0x6844b0]
cmp dword [edi], esi
je 0x497fb8
dec eax
sub edi, 4
test eax, eax
jg 0x497fac
test eax, eax
je 0x498095
cmp ebx, edx
jle 0x498014
mov edx, dword [0x6846ac]
mov esi, dword [eax*4 + 0x6844b0]
mov ecx, eax
mov dword [0x6844b0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x498088
mov dword [ecx*4 + 0x6844b0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x497ff3
jmp 0x498088
push eax
mov ecx, 0x6844b0
call fcn.00498340
jmp 0x49808f
mov dword [esi + 0x14], edx
mov byte [esi], 0
mov eax, dword [0x6846a8]
inc eax
mov dword [0x6846a8], eax
mov dword [eax*4 + 0x6844b0], esi
mov eax, dword [0x6846a8]
mov edx, dword [0x6846ac]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844b0]
mov dword [0x6844b0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x498088
mov dword [ecx*4 + 0x6844b0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844b0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x498069
mov dword [ecx*4 + 0x6844b0], esi
mov ecx, dword [0x6846a8]
cmp ecx, 0x7d
je 0x4980be
jmp 0x4980a2
mov ecx, dword [0x6846a8]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x44]
dec eax
add esi, 2
test eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], esi
jg 0x497d88
mov eax, dword [esp + 0x10]
movsx edx, word [eax + 0x168]
cmp edx, ecx
jge 0x4980da
mov word [eax + 0x168], cx
mov ecx, dword [0x6846a8]
cmp ecx, 0x7d
je 0x4982a0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x4982a0
test ecx, ecx
jne 0x497c7d
mov esi, dword [esp + 0x30]
xor edi, edi
cmp esi, edi
jne 0x498163
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
push ecx
lea esi, [esp + 0x7c]
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [esp + 0x48]
call fcn.004cc540
lea edx, [esp + 0x90]
mov ecx, eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x84], eax
cmp edx, ebp
lea eax, [esp + 0x90]
jae 0x498167
mov edx, dword [eax + 0xc]
cmp edx, ecx
jge 0x49815a
mov esi, eax
mov ecx, edx
add eax, 0x18
cmp eax, ebp
jb 0x49814f
jmp 0x498167
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x58]
cmp ebx, edi
jne 0x4981b0
mov ax, word [esp + 0x38]
cmp word [esi + 2], ax
je 0x4981b0
lea ecx, [esp + 0x78]
lea eax, [esp + 0x78]
cmp ecx, ebp
jae 0x498193
mov edx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [edx + 8], edi
jb 0x498186
mov ax, word [esi + 2]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov word [esp + 0x14], ax
mov esi, 1
xor ebx, ebx
jmp 0x497b01
mov ecx, ebp
lea edx, [esp + 0x78]
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebx, edi
mov word [ecx + 0x164], dx
je 0x498219
xor ebx, ebx
cmp esi, edi
mov eax, esi
je 0x4981e8
mov eax, dword [eax + 8]
inc ebx
cmp eax, edi
jne 0x4981e0
lea ecx, [ebx - 1]
cmp ecx, 0x32
jl 0x4981fa
lea eax, [ecx - 0x31]
mov esi, dword [esi + 8]
dec ecx
dec eax
jne 0x4981f3
cmp ecx, edi
jl 0x49824f
mov edx, dword [esp + 0x10]
lea eax, [edx + ecx*2 + 0x20]
inc ecx
mov dx, word [esi + 2]
mov word [eax], dx
mov esi, dword [esi + 8]
sub eax, 2
dec ecx
jne 0x498207
jmp 0x49824f
xor ebx, ebx
cmp esi, edi
je 0x49824f
mov eax, dword [esp + 0x10]
lea edi, [eax + 0x20]
mov cx, word [esi + 2]
call fcn.004868d0
cmp ax, word [esp + 0x1c]
jne 0x49824d
cmp ebx, 0x32
jge 0x498242
mov cx, word [esi + 2]
mov word [edi], cx
mov esi, dword [esi + 8]
inc ebx
add edi, 2
test esi, esi
jne 0x498226
xor edi, edi
mov ecx, dword [esp + 0x10]
cmp ebx, 0x32
mov eax, ebx
mov byte [ecx + 0x154], bl
jle 0x498265
mov eax, 0x32
lea edx, [esp + 0x78]
mov word [ecx + 0x86], ax
cmp edx, ebp
mov word [ecx + 0x84], 0xffff
lea eax, [esp + 0x78]
jae 0x49828e
mov ecx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [ecx + 8], edi
jb 0x498281
xor eax, eax
cmp ebx, edi
pop ebx
pop esi
pop edi
pop ebp
setg al
add esp, 0x2138
ret
test ecx, ecx
je 0x4980fe
mov esi, dword [ecx*4 + 0x6844b0]
dec ecx
mov eax, ecx
mov ebp, dword [0x6844b4]
cdq
sub eax, edx
mov edi, 1
sar eax, 1
cmp eax, edi
mov dword [0x6844b4], esi
mov dword [0x6846a8], ecx
mov dword [esp + 0x30], esi
jl 0x498321
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x4982f9
mov edx, dword [esi*4 + 0x6844b0]
mov ecx, dword [esi*4 + 0x6844b4]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x4982f9
inc esi
mov eax, dword [esi*4 + 0x6844b0]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x498321
mov dword [edi*4 + 0x6844b0], eax
mov ecx, dword [0x6846a8]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x4982d9
mov edx, dword [esp + 0x30]
mov esi, ebp
mov dword [edi*4 + 0x6844b0], edx
jmp 0x498102