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

Disassembly:
mov eax, 0x2138
call fcn.004ce9b0
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 0x497a44
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.00486840
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.00486840
cmp word [esp + 0x1c], ax
je 0x497a82
cmp esi, ebx
jne 0x497a82
xor esi, esi
jmp 0x497a87
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 0x497acf
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
mov eax, ebp
mov dword [esp + 0x38], ecx
jmp 0x497adf
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 [0x6846a4], edx
mov edx, dword [0x684498]
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 [0x6846a0], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], ebx
mov dword [eax + 8], ecx
mov eax, dword [0x6846a0]
lea edx, [esp + 0x78]
inc eax
mov byte [esp + 0x78], 0
mov dword [0x6846a0], eax
mov dword [eax*4 + 0x6844a8], edx
mov eax, dword [0x6846a0]
mov edx, dword [0x6846a4]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844a8]
mov dword [0x6844a8], edx
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jl 0x497bb2
mov dword [ecx*4 + 0x6844a8], edx
mov ecx, eax
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jge 0x497b93
mov dword [ecx*4 + 0x6844a8], esi
mov ecx, dword [0x6846a0]
xor esi, esi
cmp ecx, ebx
mov dword [esp + 0x30], esi
je 0x498052
mov eax, dword [0x6844ac]
mov esi, dword [ecx*4 + 0x6844a8]
dec ecx
mov dword [esp + 0x20], eax
mov eax, ecx
mov edi, 1
cdq
sub eax, edx
mov dword [0x6844ac], esi
sar eax, 1
cmp eax, edi
mov dword [0x6846a0], ecx
mov ebp, esi
jl 0x497c47
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x497c1f
mov edx, dword [esi*4 + 0x6844a8]
mov ecx, dword [esi*4 + 0x6844ac]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x497c1f
inc esi
mov eax, dword [esi*4 + 0x6844a8]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x497c47
mov dword [edi*4 + 0x6844a8], eax
mov ecx, dword [0x6846a0]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x497bff
mov esi, dword [esp + 0x20]
mov dword [edi*4 + 0x6844a8], ebp
mov cx, word [esi + 2]
cmp cx, word [esp + 0x38]
je 0x498052
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 0x497c86
xor edx, edx
mov dl, byte [eax + 7]
cmp cx, word [esp + 0x28]
jne 0x497c9f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x497cc6
cmp cx, word [esp + 0x14]
jne 0x497cb8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x497cc6
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [0x6846a0]
mov dword [esp + 0x5c], edx
test edx, edx
jle 0x49800e
mov edx, dword [esp + 0x44]
mov esi, dword [0x684498]
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 0x497e4c
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 0x497d3b
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x497d59
mov edx, dword [esp + 0x14]
and edx, 0xffff
cmp eax, edx
jne 0x497d53
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x497d59
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.004cc400
mov cx, word [esp + 0x1c]
mov dword [esp + 0x54], eax
cmp word [edi + 2], cx
je 0x497d8c
shl eax, 9
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov edi, eax
jmp 0x497d90
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov ecx, ebp
push edx
mov edx, dword [esp + 0x44]
push ebx
call fcn.004cc400
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 [0x6846a0]
mov dword [esi + 0x14], ecx
inc eax
mov dword [0x6846a0], eax
mov dword [eax*4 + 0x6844a8], esi
mov eax, dword [0x6846a0]
mov edx, dword [0x6846a4]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844a8]
mov dword [0x6844a8], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x497e1a
mov dword [ecx*4 + 0x6844a8], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x497dfb
mov dword [ecx*4 + 0x6844a8], esi
mov ecx, dword [0x6846a0]
cmp ecx, 0x7d
je 0x49800e
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x49800e
mov ebp, dword [esp + 0x20]
jmp 0x497ff2
cmp dword [ebp + 8], esi
je 0x497ff2
mov ax, word [esi + 2]
cmp ax, word [esp + 0x28]
jne 0x497e6a
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
jmp 0x497e84
cmp ax, word [esp + 0x14]
jne 0x497e7b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
jmp 0x497e84
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.004cc400
mov ecx, dword [esi + 4]
mov dx, word [esp + 0x1c]
cmp word [ecx + 2], dx
je 0x497eb0
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 0x497fec
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 0x497f71
mov ebx, dword [esi + 0x14]
cmp ebx, edx
je 0x497fdf
mov dword [esi + 0x14], edx
mov ecx, dword [0x6846a0]
test ecx, ecx
mov eax, ecx
jle 0x497f08
lea edi, [ecx*4 + 0x6844a8]
cmp dword [edi], esi
je 0x497f08
dec eax
sub edi, 4
test eax, eax
jg 0x497efc
test eax, eax
je 0x497fe5
cmp ebx, edx
jle 0x497f64
mov edx, dword [0x6846a4]
mov esi, dword [eax*4 + 0x6844a8]
mov ecx, eax
mov dword [0x6844a8], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x497fd8
mov dword [ecx*4 + 0x6844a8], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x497f43
jmp 0x497fd8
push eax
mov ecx, 0x6844a8
call fcn.00498290
jmp 0x497fdf
mov dword [esi + 0x14], edx
mov byte [esi], 0
mov eax, dword [0x6846a0]
inc eax
mov dword [0x6846a0], eax
mov dword [eax*4 + 0x6844a8], esi
mov eax, dword [0x6846a0]
mov edx, dword [0x6846a4]
mov ecx, eax
mov esi, dword [eax*4 + 0x6844a8]
mov dword [0x6844a8], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x497fd8
mov dword [ecx*4 + 0x6844a8], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x6844a8]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x497fb9
mov dword [ecx*4 + 0x6844a8], esi
mov ecx, dword [0x6846a0]
cmp ecx, 0x7d
je 0x49800e
jmp 0x497ff2
mov ecx, dword [0x6846a0]
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 0x497cd8
mov eax, dword [esp + 0x10]
movsx edx, word [eax + 0x168]
cmp edx, ecx
jge 0x49802a
mov word [eax + 0x168], cx
mov ecx, dword [0x6846a0]
cmp ecx, 0x7d
je 0x4981f0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x4981f0
test ecx, ecx
jne 0x497bcd
mov esi, dword [esp + 0x30]
xor edi, edi
cmp esi, edi
jne 0x4980b3
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.004cc400
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 0x4980b7
mov edx, dword [eax + 0xc]
cmp edx, ecx
jge 0x4980aa
mov esi, eax
mov ecx, edx
add eax, 0x18
cmp eax, ebp
jb 0x49809f
jmp 0x4980b7
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x58]
cmp ebx, edi
jne 0x498100
mov ax, word [esp + 0x38]
cmp word [esi + 2], ax
je 0x498100
lea ecx, [esp + 0x78]
lea eax, [esp + 0x78]
cmp ecx, ebp
jae 0x4980e3
mov edx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [edx + 8], edi
jb 0x4980d6
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 0x497a51
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 0x498169
xor ebx, ebx
cmp esi, edi
mov eax, esi
je 0x498138
mov eax, dword [eax + 8]
inc ebx
cmp eax, edi
jne 0x498130
lea ecx, [ebx - 1]
cmp ecx, 0x32
jl 0x49814a
lea eax, [ecx - 0x31]
mov esi, dword [esi + 8]
dec ecx
dec eax
jne 0x498143
cmp ecx, edi
jl 0x49819f
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 0x498157
jmp 0x49819f
xor ebx, ebx
cmp esi, edi
je 0x49819f
mov eax, dword [esp + 0x10]
lea edi, [eax + 0x20]
mov cx, word [esi + 2]
call fcn.00486840
cmp ax, word [esp + 0x1c]
jne 0x49819d
cmp ebx, 0x32
jge 0x498192
mov cx, word [esi + 2]
mov word [edi], cx
mov esi, dword [esi + 8]
inc ebx
add edi, 2
test esi, esi
jne 0x498176
xor edi, edi
mov ecx, dword [esp + 0x10]
cmp ebx, 0x32
mov eax, ebx
mov byte [ecx + 0x154], bl
jle 0x4981b5
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 0x4981de
mov ecx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [ecx + 8], edi
jb 0x4981d1
xor eax, eax
cmp ebx, edi
pop ebx
pop esi
pop edi
pop ebp
setg al
add esp, 0x2138
ret
test ecx, ecx
je 0x49804e
mov esi, dword [ecx*4 + 0x6844a8]
dec ecx
mov eax, ecx
mov ebp, dword [0x6844ac]
cdq
sub eax, edx
mov edi, 1
sar eax, 1
cmp eax, edi
mov dword [0x6844ac], esi
mov dword [0x6846a0], ecx
mov dword [esp + 0x30], esi
jl 0x498271
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x498249
mov edx, dword [esi*4 + 0x6844a8]
mov ecx, dword [esi*4 + 0x6844ac]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x498249
inc esi
mov eax, dword [esi*4 + 0x6844a8]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x498271
mov dword [edi*4 + 0x6844a8], eax
mov ecx, dword [0x6846a0]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x498229
mov edx, dword [esp + 0x30]
mov esi, ebp
mov dword [edi*4 + 0x6844a8], edx
jmp 0x498052