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

Disassembly:
mov eax, 0x2138
call fcn.004c64a0
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 0x490cd4
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.0047fd40
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0047fd40
cmp word [esp + 0x1c], ax
je 0x490d12
cmp esi, ebx
jne 0x490d12
xor esi, esi
jmp 0x490d17
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 0x490d5f
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
mov eax, ebp
mov dword [esp + 0x38], ecx
jmp 0x490d6f
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 [0x67a19c], edx
mov edx, dword [0x679f9c]
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 [0x67a198], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], ebx
mov dword [eax + 8], ecx
mov eax, dword [0x67a198]
lea edx, [esp + 0x78]
inc eax
mov byte [esp + 0x78], 0
mov dword [0x67a198], eax
mov dword [eax*4 + 0x679fa0], edx
mov eax, dword [0x67a198]
mov edx, dword [0x67a19c]
mov ecx, eax
mov esi, dword [eax*4 + 0x679fa0]
mov dword [0x679fa0], edx
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jl 0x490e42
mov dword [ecx*4 + 0x679fa0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebp, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebp
jge 0x490e23
mov dword [ecx*4 + 0x679fa0], esi
mov ecx, dword [0x67a198]
xor esi, esi
cmp ecx, ebx
mov dword [esp + 0x30], esi
je 0x4912e2
mov eax, dword [0x679fa4]
mov esi, dword [ecx*4 + 0x679fa0]
dec ecx
mov dword [esp + 0x20], eax
mov eax, ecx
mov edi, 1
cdq
sub eax, edx
mov dword [0x679fa4], esi
sar eax, 1
cmp eax, edi
mov dword [0x67a198], ecx
mov ebp, esi
jl 0x490ed7
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x490eaf
mov edx, dword [esi*4 + 0x679fa0]
mov ecx, dword [esi*4 + 0x679fa4]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x490eaf
inc esi
mov eax, dword [esi*4 + 0x679fa0]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x490ed7
mov dword [edi*4 + 0x679fa0], eax
mov ecx, dword [0x67a198]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x490e8f
mov esi, dword [esp + 0x20]
mov dword [edi*4 + 0x679fa0], ebp
mov cx, word [esi + 2]
cmp cx, word [esp + 0x38]
je 0x4912e2
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 0x490f16
xor edx, edx
mov dl, byte [eax + 7]
cmp cx, word [esp + 0x28]
jne 0x490f2f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x490f56
cmp cx, word [esp + 0x14]
jne 0x490f48
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
jmp 0x490f56
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [0x67a198]
mov dword [esp + 0x5c], edx
test edx, edx
jle 0x49129e
mov edx, dword [esp + 0x44]
mov esi, dword [0x679f9c]
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 0x4910dc
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 0x490fcb
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x490fe9
mov edx, dword [esp + 0x14]
and edx, 0xffff
cmp eax, edx
jne 0x490fe3
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x490fe9
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.004c4290
mov cx, word [esp + 0x1c]
mov dword [esp + 0x54], eax
cmp word [edi + 2], cx
je 0x49101c
shl eax, 9
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov edi, eax
jmp 0x491020
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov ecx, ebp
push edx
mov edx, dword [esp + 0x44]
push ebx
call fcn.004c4290
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 [0x67a198]
mov dword [esi + 0x14], ecx
inc eax
mov dword [0x67a198], eax
mov dword [eax*4 + 0x679fa0], esi
mov eax, dword [0x67a198]
mov edx, dword [0x67a19c]
mov ecx, eax
mov esi, dword [eax*4 + 0x679fa0]
mov dword [0x679fa0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x4910aa
mov dword [ecx*4 + 0x679fa0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x49108b
mov dword [ecx*4 + 0x679fa0], esi
mov ecx, dword [0x67a198]
cmp ecx, 0x7d
je 0x49129e
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x49129e
mov ebp, dword [esp + 0x20]
jmp 0x491282
cmp dword [ebp + 8], esi
je 0x491282
mov ax, word [esi + 2]
cmp ax, word [esp + 0x28]
jne 0x4910fa
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
jmp 0x491114
cmp ax, word [esp + 0x14]
jne 0x49110b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
jmp 0x491114
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.004c4290
mov ecx, dword [esi + 4]
mov dx, word [esp + 0x1c]
cmp word [ecx + 2], dx
je 0x491140
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 0x49127c
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 0x491201
mov ebx, dword [esi + 0x14]
cmp ebx, edx
je 0x49126f
mov dword [esi + 0x14], edx
mov ecx, dword [0x67a198]
test ecx, ecx
mov eax, ecx
jle 0x491198
lea edi, [ecx*4 + 0x679fa0]
cmp dword [edi], esi
je 0x491198
dec eax
sub edi, 4
test eax, eax
jg 0x49118c
test eax, eax
je 0x491275
cmp ebx, edx
jle 0x4911f4
mov edx, dword [0x67a19c]
mov esi, dword [eax*4 + 0x679fa0]
mov ecx, eax
mov dword [0x679fa0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x491268
mov dword [ecx*4 + 0x679fa0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x4911d3
jmp 0x491268
push eax
mov ecx, 0x679fa0
call fcn.00491520
jmp 0x49126f
mov dword [esi + 0x14], edx
mov byte [esi], 0
mov eax, dword [0x67a198]
inc eax
mov dword [0x67a198], eax
mov dword [eax*4 + 0x679fa0], esi
mov eax, dword [0x67a198]
mov edx, dword [0x67a19c]
mov ecx, eax
mov esi, dword [eax*4 + 0x679fa0]
mov dword [0x679fa0], edx
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jl 0x491268
mov dword [ecx*4 + 0x679fa0], edx
mov ecx, eax
cdq
sub eax, edx
mov ebx, dword [esi + 0x14]
sar eax, 1
mov edx, dword [eax*4 + 0x679fa0]
mov edi, dword [edx + 0x14]
cmp edi, ebx
jge 0x491249
mov dword [ecx*4 + 0x679fa0], esi
mov ecx, dword [0x67a198]
cmp ecx, 0x7d
je 0x49129e
jmp 0x491282
mov ecx, dword [0x67a198]
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 0x490f68
mov eax, dword [esp + 0x10]
movsx edx, word [eax + 0x168]
cmp edx, ecx
jge 0x4912ba
mov word [eax + 0x168], cx
mov ecx, dword [0x67a198]
cmp ecx, 0x7d
je 0x491480
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x2148]
cmp edx, eax
je 0x491480
test ecx, ecx
jne 0x490e5d
mov esi, dword [esp + 0x30]
xor edi, edi
cmp esi, edi
jne 0x491343
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.004c4290
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 0x491347
mov edx, dword [eax + 0xc]
cmp edx, ecx
jge 0x49133a
mov esi, eax
mov ecx, edx
add eax, 0x18
cmp eax, ebp
jb 0x49132f
jmp 0x491347
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x58]
cmp ebx, edi
jne 0x491390
mov ax, word [esp + 0x38]
cmp word [esi + 2], ax
je 0x491390
lea ecx, [esp + 0x78]
lea eax, [esp + 0x78]
cmp ecx, ebp
jae 0x491373
mov edx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [edx + 8], edi
jb 0x491366
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 0x490ce1
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 0x4913f9
xor ebx, ebx
cmp esi, edi
mov eax, esi
je 0x4913c8
mov eax, dword [eax + 8]
inc ebx
cmp eax, edi
jne 0x4913c0
lea ecx, [ebx - 1]
cmp ecx, 0x32
jl 0x4913da
lea eax, [ecx - 0x31]
mov esi, dword [esi + 8]
dec ecx
dec eax
jne 0x4913d3
cmp ecx, edi
jl 0x49142f
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 0x4913e7
jmp 0x49142f
xor ebx, ebx
cmp esi, edi
je 0x49142f
mov eax, dword [esp + 0x10]
lea edi, [eax + 0x20]
mov cx, word [esi + 2]
call fcn.0047fd40
cmp ax, word [esp + 0x1c]
jne 0x49142d
cmp ebx, 0x32
jge 0x491422
mov cx, word [esi + 2]
mov word [edi], cx
mov esi, dword [esi + 8]
inc ebx
add edi, 2
test esi, esi
jne 0x491406
xor edi, edi
mov ecx, dword [esp + 0x10]
cmp ebx, 0x32
mov eax, ebx
mov byte [ecx + 0x154], bl
jle 0x491445
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 0x49146e
mov ecx, dword [eax + 4]
add eax, 0x18
cmp eax, ebp
mov dword [ecx + 8], edi
jb 0x491461
xor eax, eax
cmp ebx, edi
pop ebx
pop esi
pop edi
pop ebp
setg al
add esp, 0x2138
ret
test ecx, ecx
je 0x4912de
mov esi, dword [ecx*4 + 0x679fa0]
dec ecx
mov eax, ecx
mov ebp, dword [0x679fa4]
cdq
sub eax, edx
mov edi, 1
sar eax, 1
cmp eax, edi
mov dword [0x679fa4], esi
mov dword [0x67a198], ecx
mov dword [esp + 0x30], esi
jl 0x491501
lea ebx, [esi + 0x14]
lea esi, [edi + edi]
cmp esi, ecx
jge 0x4914d9
mov edx, dword [esi*4 + 0x679fa0]
mov ecx, dword [esi*4 + 0x679fa4]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x14]
cmp eax, edx
jle 0x4914d9
inc esi
mov eax, dword [esi*4 + 0x679fa0]
mov ecx, dword [ebx]
cmp ecx, dword [eax + 0x14]
jle 0x491501
mov dword [edi*4 + 0x679fa0], eax
mov ecx, dword [0x67a198]
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jle 0x4914b9
mov edx, dword [esp + 0x30]
mov esi, ebp
mov dword [edi*4 + 0x679fa0], edx
jmp 0x4912e2