Function at 0x496ad0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x5c43dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x24]
push edi
push eax
lea ecx, [esi + 0x8c]
call fcn.004a1e20
cmp dword [esi + 0xc4], 0xffffffff
lea ecx, [esi + 0xc4]
je 0x496b57
mov edx, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
mov dword [esi + 0xe0], edx
mov edx, dword [esi + 0xb0]
mov dword [esi + 0xe8], edx
mov edx, dword [esi + 0x90]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xb4]
mov dword [esi + 0xc8], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x94]
push edx
mov dword [esi + 0xcc], eax
call fcn.004a1e20
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push eax
push ecx
push esi
mov ecx, 0x642780
call fcn.00495250
mov edx, dword [esi + 0x24]
push edx
lea ecx, [esi + 0x54]
call fcn.004a1e20
push 0x509d
call fcn.004865f0
add esp, 4
push eax
mov eax, dword [esi + 0x24]
push eax
lea ecx, [esi + 0x174]
call fcn.004a1d70
mov eax, dword [esi + 0x24]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 4]
push str.ShapeMenucheckBG.SHP
add ebx, 0x17
call fcn.00585e90
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + 0xc]
push 0
push edx
push eax
lea eax, [ebx - 3]
push eax
lea ecx, [edi + 0x29]
push ecx
push 0
call fcn.00586bd0
fld dword [0x5c0c60]
fsub qword [0x5a9f18]
add esp, 0x1c
fadd qword [0x5a9f10]
fmul qword [0x5a9f08]
call fcn.00551960
mov ecx, 1
sub ecx, eax
cmp ecx, 1
jge 0x496bf9
mov ecx, 1
mov edx, dword [esi + 0x24]
push 1
push 0x7530
push 0x7530
push 0
push 0
add cl, 0x30
push 0
mov byte [ebp - 0x104], cl
mov byte [ebp - 0x103], 0
mov eax, dword [edx + 0xc]
push eax
lea ecx, [ebp - 0x104]
push ecx
push ebx
add edi, 0x2f
push edi
push 1
push 1
call fcn.00427160
add esp, 0x30
mov ecx, esi
call fcn.004a2480
test eax, eax
je 0x4971e9
mov edx, dword [esi + 0x24]
mov ecx, dword [0x62b7c4]
sub ecx, dword [edx + 8]
mov eax, dword [0x62b7c0]
sub eax, dword [edx + 4]
sub ecx, dword [esi + 0x94]
sub eax, dword [esi + 0x90]
push ecx
push eax
mov ecx, 0x642780
call fcn.004955d0
mov edi, eax
xor ebx, ebx
mov dword [ebp - 0x110], edi
cmp edi, ebx
jle 0x4971e9
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x118]
push eax
lea edx, [ebp - 0x120]
push edx
lea eax, [ebp - 0x124]
lea ecx, [esi + 0xfc]
push eax
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x11c], ebx
call fcn.004a1e90
push edi
mov ecx, 0x642780
call fcn.00495150
mov ecx, eax
cmp ecx, ebx
je 0x496d92
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x14]
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x10c], edx
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
add ebx, dword [ecx + 4]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
add ebx, dword [esi + 0x90]
mov dword [esi + 0x100], ebx
mov eax, dword [ecx + 0x18]
mov ebx, dword [ebp - 0x10c]
cdq
sub eax, edx
mov edx, dword [ebp - 0x11c]
sar eax, 1
sub eax, edx
add eax, dword [esi + 0x94]
cmp dword [esi + 0x100], 0
lea eax, [eax + ebx - 0xa]
mov dword [esi + 0x104], eax
jge 0x496d39
mov dword [esi + 0x100], 0
mov ebx, dword [esi + 0x100]
mov eax, dword [0x5c08ec]
add ebx, edi
cmp ebx, eax
jle 0x496d52
sub eax, edi
mov dword [esi + 0x100], eax
cmp dword [esi + 0x104], 0
jge 0x496d65
mov dword [esi + 0x104], 0
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x496d92
mov eax, dword [esi + 0x24]
push edx
mov edx, dword [eax + 8]
add edx, dword [esi + 0x104]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x100]
push edi
push edx
mov edx, dword [esi + 0x28]
push eax
push edx
push ecx
call fcn.00417030
add esp, 0x18
mov eax, dword [esi + 0x24]
push eax
lea ecx, [esi + 0xfc]
mov dword [esi + 0x108], 0x20000000
mov dword [esi + 0x10c], 0xa
call fcn.004a1e20
mov eax, dword [esi + 0x100]
mov edi, dword [esi + 0x104]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x110]
add eax, 0xb
mov dword [esi + 0x160], eax
mov dword [esi + 0x168], eax
add edi, 3
add ecx, 0xfffffff1
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
push edx
mov dword [esi + 0x138], ecx
call fcn.0048b280
add esp, 4
test eax, eax
je 0x496ebe
mov eax, dword [eax + 4]
push eax
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x496ebe
push eax
lea eax, [ebp - 0x104]
push 0x5a4e10
push eax
mov dword [esi + 0x148], 0x1f
mov dword [esi + 0x140], 0
mov dword [esi + 0x154], 1
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.004165c0
add esp, 0x10
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x496eb1
call fcn.004f9cf0
mov edx, dword [ebp - 0x10c]
push eax
movzx eax, byte [edx + 4]
push eax
call fcn.0047a040
add esp, 8
cmp dword [ebp - 0x110], eax
jne 0x496eb1
push 0x4f40
call fcn.004865f0
mov ecx, dword [ebp - 0x108]
push eax
push ecx
lea edx, [ebp - 0x104]
push 0x5a9f00
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
push ecx
jmp 0x496ed0
push 0x4f4b
call fcn.004865f0
mov edx, dword [esi + 0x24]
add esp, 4
push eax
push edx
lea ecx, [esi + 0x134]
call fcn.004a1d70
mov dword [esi + 0x148], 9
mov dword [esi + 0x140], 1
mov dword [esi + 0x154], 0
add edi, 0x14
push 0x5102
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x496f5f
mov eax, dword [ebp - 0x110]
push eax
mov dword [ebp - 0x10c], 0
call fcn.004165f0
add esp, 4
test eax, eax
je 0x496f41
movzx eax, byte [eax]
jmp 0x496f47
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
inc eax
push eax
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.00552808
add esp, 0xc
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
push ecx
lea ecx, [esi + 0x134]
call fcn.004a1d70
add edi, 0x13
push 0x4f19
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x496fc3
mov edx, dword [ebp - 0x110]
push 0x5a9664
push edx
call fcn.00494b10
push eax
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.00552808
add esp, 0x14
mov eax, dword [esi + 0x24]
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a1d70
add edi, 0x13
push 0x5048
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x497027
mov ecx, dword [ebp - 0x110]
push 0x5a9664
push ecx
call fcn.00496a50
mov edx, dword [ebp - 0x108]
push eax
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.00552808
add esp, 0x14
mov edx, dword [esi + 0x24]
lea ecx, [ebp - 0x104]
push ecx
push edx
lea ecx, [esi + 0x134]
call fcn.004a1d70
add edi, 0x13
push 0x5046
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x49708b
mov eax, dword [ebp - 0x110]
push 0x5a9664
push eax
call fcn.004969f0
mov ecx, dword [ebp - 0x108]
push eax
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.00552808
add esp, 0x14
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
push ecx
lea ecx, [esi + 0x134]
call fcn.004a1d70
add edi, 0x13
push 0x5080
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x497107
mov edx, dword [ebp - 0x110]
push edx
mov dword [ebp - 0x10c], 0
call fcn.004165f0
add esp, 4
test eax, eax
je 0x4970ea
movzx eax, byte [eax + 6]
jmp 0x4970f0
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.00552808
add esp, 0xc
mov eax, dword [esi + 0x24]
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a1d70
add edi, 0x13
push 0x5399
mov dword [ebp - 0x10c], 0
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004865f0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4971e9
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.00494aa0
mov edi, eax
add esp, 4
test edi, edi
je 0x4971b6
cmp dword [edi + 6], 0
je 0x4971b6
cmp dword [edi], 0
je 0x4971b6
push 0
call fcn.005528bb
add esp, 4
sub eax, dword [edi + 6]
mov dword [ebp - 0x110], edx
mov ecx, eax
js 0x4971b6
mov eax, 0xc22e4507
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x15180
sub ecx, edx
je 0x4971a8
inc eax
test eax, eax
jns 0x4971bc
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.00552808
mov eax, dword [esi + 0x24]
add esp, 0xc
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a1d70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.005517d0
mov esp, ebp
pop ebp
ret 4