Function at 0x495ba0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x5bb204]
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.004a0e20
cmp dword [esi + 0xc4], 0xffffffff
lea ecx, [esi + 0xc4]
je 0x495c27
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.004a0e20
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push eax
push ecx
push esi
mov ecx, 0x638918
call fcn.004942b0
mov edx, dword [esi + 0x24]
push edx
lea ecx, [esi + 0x54]
call fcn.004a0e20
push 0x509d
call fcn.004856b0
add esp, 4
push eax
mov eax, dword [esi + 0x24]
push eax
lea ecx, [esi + 0x174]
call fcn.004a0d70
mov eax, dword [esi + 0x24]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 4]
push str.ShapeMenucheckBG.SHP
add ebx, 0x17
call fcn.0057d730
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.0057e470
fld dword [0x5b7c40]
fsub qword [0x5a1e88]
add esp, 0x1c
fadd qword [0x5a1e80]
fmul qword [0x5a1e78]
call fcn.005496d0
mov ecx, 1
sub ecx, eax
cmp ecx, 1
jge 0x495cc9
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.00427560
add esp, 0x30
mov ecx, esi
call fcn.004a1480
test eax, eax
je 0x4962b9
mov edx, dword [esi + 0x24]
mov ecx, dword [0x6225e4]
sub ecx, dword [edx + 8]
mov eax, dword [0x6225e0]
sub eax, dword [edx + 4]
sub ecx, dword [esi + 0x94]
sub eax, dword [esi + 0x90]
push ecx
push eax
mov ecx, 0x638918
call fcn.00494630
mov edi, eax
xor ebx, ebx
mov dword [ebp - 0x110], edi
cmp edi, ebx
jle 0x4962b9
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.004a0e90
push edi
mov ecx, 0x638918
call fcn.004941b0
mov ecx, eax
cmp ecx, ebx
je 0x495e62
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 0x495e09
mov dword [esi + 0x100], 0
mov ebx, dword [esi + 0x100]
mov eax, dword [0x5b78cc]
add ebx, edi
cmp ebx, eax
jle 0x495e22
sub eax, edi
mov dword [esi + 0x100], eax
cmp dword [esi + 0x104], 0
jge 0x495e35
mov dword [esi + 0x104], 0
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x495e62
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.004172f0
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.004a0e20
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.0048a330
add esp, 4
test eax, eax
je 0x495f8e
mov eax, dword [eax + 4]
push eax
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x495f8e
push eax
lea eax, [ebp - 0x104]
push 0x59ce20
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.00416880
add esp, 0x10
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x495f81
call fcn.004f8580
mov edx, dword [ebp - 0x10c]
push eax
movzx eax, byte [edx + 4]
push eax
call fcn.00479200
add esp, 8
cmp dword [ebp - 0x110], eax
jne 0x495f81
push 0x4f40
call fcn.004856b0
mov ecx, dword [ebp - 0x108]
push eax
push ecx
lea edx, [ebp - 0x104]
push 0x5a1e70
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 0x495fa0
push 0x4f4b
call fcn.004856b0
mov edx, dword [esi + 0x24]
add esp, 4
push eax
push edx
lea ecx, [esi + 0x134]
call fcn.004a0d70
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.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x49602f
mov eax, dword [ebp - 0x110]
push eax
mov dword [ebp - 0x10c], 0
call fcn.004168b0
add esp, 4
test eax, eax
je 0x496011
movzx eax, byte [eax]
jmp 0x496017
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
inc eax
push eax
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.0054a578
add esp, 0xc
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
push ecx
lea ecx, [esi + 0x134]
call fcn.004a0d70
add edi, 0x13
push 0x4f19
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x496093
mov edx, dword [ebp - 0x110]
push 0x5a15d4
push edx
call fcn.00493b50
push eax
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.0054a578
add esp, 0x14
mov eax, dword [esi + 0x24]
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a0d70
add edi, 0x13
push 0x5048
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4960f7
mov ecx, dword [ebp - 0x110]
push 0x5a15d4
push ecx
call fcn.00495b20
mov edx, dword [ebp - 0x108]
push eax
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.0054a578
add esp, 0x14
mov edx, dword [esi + 0x24]
lea ecx, [ebp - 0x104]
push ecx
push edx
lea ecx, [esi + 0x134]
call fcn.004a0d70
add edi, 0x13
push 0x5046
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x49615b
mov eax, dword [ebp - 0x110]
push 0x5a15d4
push eax
call fcn.00495ac0
mov ecx, dword [ebp - 0x108]
push eax
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.0054a578
add esp, 0x14
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
push ecx
lea ecx, [esi + 0x134]
call fcn.004a0d70
add edi, 0x13
push 0x5080
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4961d7
mov edx, dword [ebp - 0x110]
push edx
mov dword [ebp - 0x10c], 0
call fcn.004168b0
add esp, 4
test eax, eax
je 0x4961ba
movzx eax, byte [eax + 6]
jmp 0x4961c0
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.0054a578
add esp, 0xc
mov eax, dword [esi + 0x24]
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a0d70
add edi, 0x13
push 0x5399
mov dword [ebp - 0x10c], 0
mov dword [esi + 0x164], edi
mov dword [esi + 0x16c], edi
call fcn.004856b0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4962b9
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.00493ae0
mov edi, eax
add esp, 4
test edi, edi
je 0x496286
cmp dword [edi + 6], 0
je 0x496286
cmp dword [edi], 0
je 0x496286
push 0
call fcn.0054a62b
add esp, 4
sub eax, dword [edi + 6]
mov dword [ebp - 0x110], edx
mov ecx, eax
js 0x496286
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 0x496278
inc eax
test eax, eax
jns 0x49628c
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.0054a578
mov eax, dword [esi + 0x24]
add esp, 0xc
lea edx, [ebp - 0x104]
push edx
push eax
lea ecx, [esi + 0x134]
call fcn.004a0d70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.00549540
mov esp, ebp
pop ebp
ret 4