Function at 0x487ad0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
xor ebp, ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
push esi
push edi
test eax, eax
je 0x487b02
test dword [eax], 0x8000
je 0x487b02
mov eax, dword [eax + 8]
movzx eax, word [eax + 4]
mov dword [esp + 0x14], eax
jmp 0x487b06
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x40]
mov eax, 0x200
test esi, esi
je 0x487b2a
test word [esi + 4], ax
jne 0x487b2a
mov esi, dword [esi + 0xc]
test esi, esi
je 0x487b28
mov esi, dword [esi]
test word [esi + 4], ax
jne 0x487b2a
xor esi, esi
push 0x5c
call fcn.00483330
mov edi, eax
add esp, 4
test edi, edi
jne 0x487b4a
push eax
push eax
push eax
push 0x232e
call fcn.004ecae0
add esp, 0x10
push 0x58
lea eax, [edi + 4]
mov dword [edi], 1
push 0
push eax
call fcn.0059d510
mov cx, word [0x8a7dd8]
mov edi, eax
mov ax, word [0x8a7dd4]
add esp, 0xc
cmp cx, ax
jne 0x487bdf
add ax, 0x40
movzx ecx, ax
mov word [0x8a7dd4], ax
mov eax, dword [0x8a7dd0]
lea ecx, [ecx*4 + 8]
push ecx
test eax, eax
jne 0x487ba8
call fcn.00483330
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x487bba
mov dword [ebx], 1
jmp 0x487bcd
add eax, 0xfffffffc
push eax
call fcn.004835d0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x487bcd
push 0
push 0
push 0
push 0x2331
call fcn.004ecae0
add esp, 0x10
mov cx, word [0x8a7dd8]
add ebx, 4
mov dword [0x8a7dd0], ebx
jmp 0x487be5
mov ebx, dword [0x8a7dd0]
push dword [esp + 0x34]
inc cx
movzx eax, cx
mov word [edi + 0x34], cx
mov word [0x8a7dd8], cx
mov dword [ebx + eax*4], edi
call fcn.00579550
push eax
mov dword [edi], eax
call fcn.00488f10
add esp, 8
mov dword [edi + 4], eax
test esi, esi
jne 0x487c35
mov esi, dword [eax]
test esi, esi
je 0x487c35
mov eax, 0x200
test word [esi + 4], ax
jne 0x487c35
mov esi, dword [esi + 0xc]
test esi, esi
je 0x487c33
mov esi, dword [esi]
test word [esi + 4], ax
jne 0x487c35
xor esi, esi
mov dword [edi + 0xc], esi
cmp dword [esp + 0x44], ebp
je 0x487c78
test esi, esi
je 0x487c6f
mov ecx, dword [0x8a7dac]
test ecx, ecx
je 0x487c6f
nop dword [eax]
cmp dword [ecx + 0x18], ebp
je 0x487c68
mov edx, dword [ecx]
cmp esi, edx
jb 0x487c68
movzx eax, word [ecx + 4]
shl eax, 4
add eax, edx
cmp esi, eax
jb 0x487cc4
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x487c50
mov dword [edi + 0x10], ebp
xor eax, eax
mov word [edi + 0x48], ax
mov eax, 1
mov ecx, eax
mov dword [esp + 0x2c], eax
cmp cx, word [esp + 0x14]
ja 0x4881bd
nop
mov ecx, dword [esp + 0x3c]
movzx eax, ax
test dword [ecx], 0x8000
je 0x487ce8
test eax, eax
je 0x487ce8
mov edx, dword [ecx + 8]
cmp eax, dword [edx + 4]
ja 0x487ce8
lea ecx, [eax + eax*2]
mov eax, dword [edx]
lea eax, [eax + ecx*8]
add eax, 0xffffffe8
je 0x487ce8
mov ecx, dword [eax]
test cl, 2
je 0x487ccd
mov eax, dword [eax + 8]
jmp 0x487cea
mov dword [edi + 0x10], edx
mov ax, word [ecx + 4]
jmp 0x487c74
test cl, 8
je 0x487cd7
mov eax, dword [eax + 8]
jmp 0x487cea
test cl, 0x10
je 0x487ce8
movsd xmm0, qword [eax + 8]
call fcn.0059bf00
jmp 0x487cea
xor eax, eax
movzx esi, ax
mov dword [esp + 0x24], esi
test si, si
je 0x488199
cmp si, word [edi + 0x34]
jae 0x488199
cmp dword [edi + 8], 0
mov eax, dword [0x8a7dd0]
movzx ecx, si
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x40], ebx
jne 0x487d28
push ebx
push edi
call fcn.00486830
add esp, 8
jmp 0x488199
movzx ecx, word [edi + 0x44]
test cx, cx
je 0x487d58
mov edx, dword [edi + 0x2c]
nop dword [eax]
nop dword [eax + eax]
add ecx, 0xffff
movzx eax, cx
cmp word [edx + eax*4], si
je 0x488199
test cx, cx
jne 0x487d40
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x487d8b
mov ecx, dword [eax]
test ecx, 0x400
je 0x487d6e
mov eax, dword [eax + 8]
jmp 0x487d8d
test ecx, 0x8000
je 0x487d7e
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
jmp 0x487d8d
test cl, 4
je 0x487d8b
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
jmp 0x487d8d
xor eax, eax
movzx eax, ax
mov dword [esp + 0x20], eax
test ax, ax
je 0x487e3c
cmp ax, word [esp + 0x1c]
jbe 0x487e2b
movzx esi, ax
add esi, esi
test ebp, ebp
jne 0x487ddf
test esi, esi
jne 0x487dc5
push esi
push esi
push esi
push 0x2340
call fcn.004ecae0
add esp, 0x10
lea eax, [esi + 4]
push eax
call fcn.00483330
mov esi, eax
add esp, 4
test esi, esi
je 0x487e06
mov dword [esi], 1
jmp 0x487e19
lea ecx, [ebp - 4]
test esi, esi
jne 0x487df3
push ecx
call fcn.00482cd0
add esp, 4
xor ebp, ebp
jmp 0x487e1c
lea eax, [esi + 4]
push eax
push ecx
call fcn.004835d0
mov esi, eax
add esp, 8
test esi, esi
jne 0x487e19
push 0
push 0
push 0
push 0x2331
call fcn.004ecae0
add esp, 0x10
lea ebp, [esi + 4]
mov eax, dword [esp + 0x20]
movzx ecx, ax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ecx
movzx eax, ax
add eax, eax
push eax
push 0
push ebp
call fcn.0059d510
add esp, 0xc
xor eax, eax
xor esi, esi
cmp ax, word [ebx + 0x44]
jae 0x487e63
mov eax, dword [ebx + 0x2c]
movzx ecx, si
push 1
movzx eax, word [eax + ecx*4]
push eax
push edi
call fcn.00486b40
inc esi
add esp, 0xc
cmp si, word [ebx + 0x44]
jb 0x487e46
push 1
push dword [esp + 0x28]
push edi
call fcn.00486b40
movzx ecx, word [ebx + 0x3e]
add esp, 0xc
test cx, cx
je 0x487f03
xor eax, eax
xor edx, edx
mov dword [esp + 0x44], eax
cmp dx, cx
jae 0x487f03
nop dword [eax]
mov ebp, dword [esp + 0x40]
movzx eax, ax
mov ebp, dword [ebp + 0x14]
lea ebx, [eax + eax*2]
cmp word [ebp + ebx*4 + 4], 1
jne 0x487ef0
movzx eax, word [edi + 0x44]
movzx esi, word [ebp + ebx*4 + 0xa]
test ax, ax
je 0x487ed7
mov edx, dword [edi + 0x2c]
nop word [eax + eax]
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], si
je 0x487fc7
test ax, ax
jne 0x487ec0
xor eax, eax
push esi
push eax
movzx eax, word [ebp + ebx*4 + 6]
push eax
push 1
push dword [ebp + ebx*4]
push edi
call fcn.00485780
add esp, 0x18
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x44], eax
cmp ax, word [ebx + 0x3e]
jb 0x487e90
movzx eax, word [ebx + 0x50]
mov dword [esp + 0x28], eax
test eax, eax
je 0x48815a
xor ebp, ebp
mov dword [esp + 0x44], ebp
nop dword [eax]
mov eax, dword [ebx + 8]
mov eax, dword [eax + ebp]
test eax, eax
je 0x488148
push eax
push edi
call fcn.00486710
mov esi, eax
add esp, 8
cmp dword [esi], 0
je 0x487fd8
mov ebp, dword [esi + 8]
cmp ebp, 0x87bbd8
jne 0x487f7d
movzx eax, word [edi + 0x44]
test ax, ax
je 0x487f73
mov edx, dword [edi + 0x2c]
movzx ebx, word [esi + 0x18]
nop
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], bx
je 0x487fd1
test ax, ax
jne 0x487f60
xor eax, eax
mov ebx, dword [esp + 0x40]
mov word [esi + 0x1a], ax
cmp ebp, 0x87bbc8
je 0x487fde
mov ax, word [0x8a7bcc]
test ax, ax
je 0x487f96
cmp word [esi + 0x14], ax
je 0x487fde
mov eax, dword [ebx + 8]
mov ecx, 0x600
mov ebp, dword [esp + 0x44]
test word [eax + ebp + 0x16], cx
je 0x487fb5
mov eax, 0x400
or word [esi + 0x16], ax
mov eax, dword [ebx + 8]
push edi
add eax, ebp
push esi
push eax
call fcn.004886f0
add esp, 0xc
jmp 0x488148
movzx eax, word [edx + ecx*4 + 2]
jmp 0x487ed9
movzx eax, word [edx + ecx*4 + 2]
jmp 0x487f75
inc word [edi + 0x3c]
jmp 0x487fe2
mov ebp, dword [esp + 0x44]
mov eax, dword [ebx + 8]
push edi
push esi
push esi
movups xmm0, xmmword [eax + ebp]
movups xmmword [esi], xmm0
movups xmm0, xmmword [eax + ebp + 0x10]
movups xmmword [esi + 0x10], xmm0
call fcn.004886f0
add esp, 0xc
test eax, eax
jne 0x488148
mov eax, dword [esi + 8]
cmp eax, 0x87bc18
je 0x488019
cmp eax, 0x87bc28
jne 0x48801c
mov eax, dword [esi + 0xc]
cmp eax, 0x87bb78
je 0x488084
cmp eax, 0x87bb88
je 0x488084
cmp eax, 0x87bb58
je 0x48803c
cmp eax, 0x87bb68
jne 0x48813f
movzx eax, word [edi + 0x44]
test ax, ax
je 0x488063
mov edx, dword [edi + 0x2c]
movzx ebx, word [esi + 0x14]
nop dword [eax]
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], bx
je 0x488072
test ax, ax
jne 0x488050
mov ebx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0x1a], ax
jmp 0x48813f
movzx eax, word [edx + ecx*4 + 2]
mov ebx, dword [esp + 0x40]
mov word [esi + 0x1a], ax
jmp 0x48813f
movzx eax, word [esi + 0x18]
mov ecx, eax
cmp ax, word [esp + 0x20]
jbe 0x4880ab
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.004ecae0
movzx ecx, word [esi + 0x18]
add esp, 0x10
movzx edx, cx
movzx eax, cx
mov ecx, dword [esp + 0x10]
cmp word [ecx + edx*2 - 2], 0
jne 0x4880f1
mov eax, dword [edi + 0x18]
test dword [eax], 0x8000
je 0x4880d0
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
jmp 0x4880d2
xor eax, eax
inc eax
mov word [ecx + edx*2 - 2], ax
movzx eax, word [esi + 0x18]
movzx eax, word [ecx + eax*2 - 2]
push eax
push dword [edi + 0x18]
call fcn.00485590
movzx eax, word [esi + 0x18]
add esp, 8
movzx edx, word [esi + 0x1a]
movzx ecx, ax
test dx, dx
je 0x48812f
push dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
movzx eax, ax
push 0
movzx eax, word [ecx + eax*2 - 2]
push eax
mov eax, edx
push 2
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x14]
push dword [eax + ecx*4 - 0xc]
push edi
call fcn.00485780
movzx ecx, word [esi + 0x18]
add esp, 0x18
mov word [esi + 0x1a], ax
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + eax*2 - 2]
mov word [esi + 0x18], ax
mov eax, 0x80
or word [esi + 0x16], ax
add ebp, 0x20
sub dword [esp + 0x28], 1
mov dword [esp + 0x44], ebp
jne 0x487f20
cmp word [ebx + 0x38], 0
mov ecx, 1
je 0x48816a
mov word [edi + 0x38], cx
cmp word [ebx + 0x36], 0
je 0x488175
mov word [edi + 0x36], cx
mov eax, dword [ebx + 0x30]
or dword [edi + 0x30], eax
cmp word [ebx + 0x4a], 0
je 0x488186
mov word [edi + 0x4a], cx
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x24], 0
mov ebp, dword [esp + 0x10]
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp ax, word [esp + 0x14]
jbe 0x487c90
test ebp, ebp
je 0x4881bd
lea eax, [ebp - 4]
push eax
call fcn.00482cd0
add esp, 4
cmp dword [edi + 8], 0
jne 0x4883e5
push 7
push edi
call fcn.00486c30
push 0x2c
call fcn.00483330
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4881ef
push eax
push eax
push eax
push 0x232e
call fcn.004ecae0
add esp, 0x10
mov ax, word [0x87bddc]
lea ecx, [esi + 4]
mov dword [esi], 1
mov ebx, 1
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x767880
mov word [ecx + 0xc], bx
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x8a7dfc]
test eax, eax
je 0x48823d
mov dword [ecx], eax
mov eax, dword [0x8a7dfc]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x8a7dfc]
mov dword [eax + 4], ecx
jmp 0x488248
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x8a7dfc], ecx
test dword [esi], 0xb405
je 0x488259
push esi
call fcn.0048b3c0
add esp, 4
push 0x767888
push 0x10
call fcn.004893e0
xor ecx, ecx
push 0x2c
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x18], esi
call fcn.00483330
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4882a6
push eax
push eax
push eax
push 0x232e
call fcn.004ecae0
add esp, 0x10
mov ax, word [0x87bddc]
lea ecx, [esi + 4]
mov dword [esi], ebx
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x767880
mov word [ecx + 0xc], bx
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x8a7dfc]
test eax, eax
je 0x4882eb
mov dword [ecx], eax
mov eax, dword [0x8a7dfc]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x8a7dfc]
mov dword [eax + 4], ecx
jmp 0x4882f6
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x8a7dfc], ecx
test dword [esi], 0xb405
je 0x488307
push esi
call fcn.0048b3c0
add esp, 4
push 0x767888
push 0x10
call fcn.004893e0
xor ecx, ecx
push 0x2c
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x1c], esi
call fcn.00483330
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x488354
push eax
push eax
push eax
push 0x232e
call fcn.004ecae0
add esp, 0x10
mov ax, word [0x87bddc]
lea ecx, [esi + 4]
mov dword [esi], ebx
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x767880
mov word [ecx + 0xc], bx
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x8a7dfc]
test eax, eax
je 0x488399
mov dword [ecx], eax
mov eax, dword [0x8a7dfc]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x8a7dfc]
mov dword [eax + 4], ecx
jmp 0x4883a4
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x8a7dfc], ecx
test dword [esi], 0xb405
je 0x4883b5
push esi
call fcn.0048b3c0
add esp, 4
push 0x767888
push 0x10
call fcn.004893e0
add esp, 8
xor ecx, ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x20], esi
movzx eax, word [edi + 0x40]
mov word [edi + 0x42], ax
movzx eax, word [edi + 0x34]
push 0
push eax
push edi
call fcn.00486b40
movzx eax, word [edi + 0x40]
add esp, 0xc
add ax, word [esp + 0x38]
cmp word [edi + 0x4a], 0
movzx eax, ax
mov word [edi + 0x40], ax
je 0x488419
inc eax
mov word [edi + 0x4a], ax
cmp dword [esp + 0x18], 0
je 0x48842e
cmp dword [edi + 0x24], 0
jne 0x48842e
call fcn.0049a0e0
mov dword [edi + 0x24], eax
mov ax, word [edi + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret