Function at 0x461d00
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x54
call fcn.004de770
cmp eax, 0x201
jne 0x461d4b
mov eax, dword [0x6a9038]
test eax, eax
je 0x461d34
mov ecx, dword [eax + 0xe18]
test ecx, ecx
jne 0x462497
mov cl, byte [eax + 0x1ac]
test cl, cl
jne 0x462497
push 0
push 0
push 1
push 0x54b3fc
call fcn.0047d470
add esp, 0x10
add esp, 0x54
ret
cmp eax, 0x501
jne 0x461d8e
mov eax, dword [0x6a9038]
test eax, eax
je 0x461d77
mov ecx, dword [eax + 0xe18]
test ecx, ecx
jne 0x462497
mov cl, byte [eax + 0x1ac]
test cl, cl
jne 0x462497
push 0
push 0
push 1
push 0x54eabc
call fcn.0047d470
add esp, 0x10
add esp, 0x54
ret
cmp eax, 0x505
jne 0x461dac
push 0
push 0
push 1
push 0x54b47c
call fcn.0047d470
add esp, 0x10
add esp, 0x54
ret
cmp eax, 0x806
jne 0x461dca
push 0
push 0
push 1
push 0x54eab0
call fcn.0047d470
add esp, 0x10
add esp, 0x54
ret
mov al, byte [0x60f771]
test al, al
je 0x462497
mov al, byte [0x60f784]
test al, al
jne 0x461dff
push 0x14
call fcn.004e5da0
add esp, 4
test eax, eax
jne 0x461dff
mov byte [0x60f784], 1
mov dword [0x60f66c], 0x11000
mov al, byte [0x60f785]
test al, al
jne 0x461e27
push 0x1e
call fcn.004e5da0
add esp, 4
test eax, eax
jne 0x461e27
mov byte [0x60f785], 1
mov dword [0x60f74c], 0x17000
mov eax, dword [str.00:00]
push ebx
push ebp
push esi
mov esi, dword [0x60f774]
mov dword [esp + 0x38], eax
mov eax, 0x91a2b3c5
mov cx, word [0x54eaac]
mul esi
mov word [esp + 0x3c], cx
mov eax, 0x88888889
mov ecx, edx
mul esi
shr ecx, 0xb
shr edx, 5
lea eax, [ecx + ecx*2]
mov ebx, edx
lea edx, [eax + eax*4]
shl edx, 2
sub ebx, edx
cmp ecx, 0xa
jl 0x461e99
mov eax, 0x66666667
imul ecx
mov esi, edx
sar esi, 2
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, esi
mov dl, al
add dl, 0x30
mov byte [esp + 0x38], dl
mov edx, eax
neg edx
shl edx, 2
sub edx, eax
lea ecx, [ecx + edx*2]
jmp 0x461e9e
mov byte [esp + 0x38], 0x30
mov eax, dword [0x60f780]
add cl, 0x30
cmp ebx, eax
mov byte [esp + 0x39], cl
je 0x461ec5
push 0
push 0x2000
push 0x20
call fcn.00471c50
add esp, 0xc
mov dword [0x60f780], ebx
cmp ebx, 0xa
jl 0x461ef2
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
mov cl, dl
neg eax
shl eax, 2
add cl, 0x30
sub eax, edx
mov byte [esp + 0x3b], cl
lea ebx, [ebx + eax*2]
jmp 0x461ef7
mov byte [esp + 0x3b], 0x30
mov ecx, dword [0x56ea9c]
add bl, 0x30
mov byte [esp + 0x3c], bl
xor esi, esi
mov ebp, dword [ecx + 0x9c]
cmp ebp, esi
je 0x462319
push edi
push esi
push ebp
call fcn.00462bb0
mov edx, dword [0x54e8f4]
mov ecx, dword [0x60f76c]
mov edi, eax
mov eax, dword [0x54e8f0]
push edx
mov edx, dword [0x54e8ec]
push eax
push ebp
lea eax, [edx + ecx + 0x13]
mov ecx, dword [0x54e8e8]
push edi
add ecx, 0xdb
push eax
push ecx
call fcn.00462cd0
xor edx, edx
push 1
mov dx, word [ebp + 2]
push edx
call fcn.00506440
fild dword [0x568158]
xor eax, eax
xor ecx, ecx
mov al, byte [edi + 4]
mov cl, byte [edi + 5]
fstp dword [esp + 0x3c]
or eax, 0xffffff00
mov dword [esp + 0x60], esi
shl eax, 8
or eax, ecx
mov ecx, dword [0x628614]
mov dword [esp + 0x5c], ecx
xor edx, edx
fild qword [esp + 0x5c]
mov dl, byte [edi + 6]
mov ecx, dword [0x61b5fc]
shl eax, 8
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fdiv dword [esp + 0x38]
or eax, edx
mov dword [esp + 0x5c], ecx
movsx edx, word [edi + 0x22]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x60], esi
movsx edx, word [edi + 0x20]
movsx ecx, word [edi + 0x1a]
fstp dword [esp + 0x38]
fild dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x38]
fstp dword [esp + 0x44]
fild dword [0x568154]
fstp dword [esp + 0x3c]
fild qword [esp + 0x5c]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fdiv dword [esp + 0x40]
mov dword [esp + 0x40], edx
movsx edx, word [edi + 0x18]
fstp dword [esp + 0x3c]
fild dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fmul dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x48]
fild dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fmul dword [esp + 0x38]
mov dword [esp + 0x40], edx
fstp dword [esp + 0x4c]
fild dword [esp + 0x40]
movsx ecx, word [edi + 0x12]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fmul dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
push 0x3f19999a
movsx edx, word [edi + 0x10]
fstp dword [esp + 0x54]
fild dword [esp + 0x44]
movsx ecx, word [edi + 0xa]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fmul dword [esp + 0x3c]
mov dword [esp + 0x44], edx
push eax
movsx edx, word [edi + 8]
fstp dword [esp + 0x5c]
fild dword [esp + 0x48]
push 0x3f800000
push 0x3f800000
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fmul dword [esp + 0x4c]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x60]
fstp dword [esp + 0x70]
fild dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fmul dword [esp + 0x4c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x68]
fstp dword [esp + 0x50]
fild dword [esp + 0x58]
push eax
push 0x3f800000
push esi
push ecx
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul dword [esp + 0x64]
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x88]
push eax
push esi
push 0x3f800000
push ecx
push edx
fstp dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x7c]
push esi
push esi
push eax
push ecx
call fcn.00507910
add esp, 0x7c
push esi
push ebp
call fcn.00462bb0
mov edx, dword [0x54e8e4]
mov ecx, dword [0x60f76c]
mov esi, eax
mov eax, dword [0x54e8e0]
push edx
mov edx, dword [0x54e8dc]
push eax
push ebp
push esi
lea eax, [edx + ecx + 0x13]
mov ecx, dword [0x54e8d8]
add ecx, 0xf1
push eax
push ecx
call fcn.00462cd0
mov al, byte [edi + 0x14]
xor edx, edx
mov byte [esi + 0x1c], al
mov byte [esi + 0xc], al
mov al, byte [edi + 0xc]
push 1
mov byte [esi + 0x24], al
mov byte [esi + 0x14], al
mov dx, word [ebp + 2]
push edx
call fcn.00506440
xor eax, eax
xor ecx, ecx
mov al, byte [esi + 4]
mov cl, byte [esi + 5]
fild dword [0x568158]
or eax, 0xffffff00
xor edx, edx
mov dl, byte [esi + 6]
shl eax, 8
fstp dword [esp + 0x5c]
or eax, ecx
mov ecx, dword [0x628614]
shl eax, 8
or eax, edx
mov dword [esp + 0x54], ecx
xor ecx, ecx
mov dword [esp + 0x58], ecx
fild qword [esp + 0x54]
movsx edx, word [esi + 0x22]
fstp dword [esp + 0x54]
fld dword [esp + 0x5c]
fdiv dword [esp + 0x54]
mov dword [esp + 0x5c], edx
mov edx, dword [0x61b5fc]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
movsx edx, word [esi + 0x20]
fstp dword [esp + 0x38]
fild dword [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fmul dword [esp + 0x38]
fstp dword [esp + 0x50]
fild dword [0x568154]
fstp dword [esp + 0x5c]
fild qword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esp + 0x5c]
fdiv dword [esp + 0x54]
mov dword [esp + 0x5c], edx
movsx edx, word [esi + 0x1a]
fstp dword [esp + 0x3c]
fild dword [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fmul dword [esp + 0x3c]
mov dword [esp + 0x5c], edx
movsx edx, word [esi + 0x18]
fstp dword [esp + 0x54]
fild dword [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fmul dword [esp + 0x38]
mov dword [esp + 0x5c], edx
fstp dword [esp + 0x4c]
fild dword [esp + 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fmul dword [esp + 0x3c]
fstp dword [esp + 0x48]
movsx edx, word [esi + 0x12]
mov dword [esp + 0x5c], edx
push 0x3f19999a
fild dword [esp + 0x60]
movsx edx, word [esi + 0x10]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fmul dword [esp + 0x3c]
mov dword [esp + 0x60], edx
push eax
movsx edx, word [esi + 0xa]
fstp dword [esp + 0x4c]
fild dword [esp + 0x64]
push 0x3f800000
push ecx
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fmul dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
movsx edx, word [esi + 8]
fstp dword [esp + 0x50]
fild dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fmul dword [esp + 0x48]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x68]
fstp dword [esp + 0x4c]
fild dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x64]
push eax
push 0x3f800000
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fmul dword [esp + 0x5c]
push 0x3f800000
push edx
mov edx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
push eax
push ecx
push ecx
push edx
mov edx, dword [esp + 0x7c]
fstp dword [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0xa4]
push 0x3f800000
push eax
push ecx
call fcn.00507910
add esp, 0x7c
pop edi
push 0x100
call fcn.00458620
push 1
call fcn.00458610
push 0
push 0x80
push 0x60
push 0x60
call fcn.00458640
call fcn.00458d50
lea edx, [esp + 0x58]
push eax
push edx
call fcn.00529f90
push str.sp_fnt01.fnt
call fcn.00458c30
mov ecx, dword [0x60f76c]
push 0x1000
lea eax, [esp + 0x60]
push 0
add ecx, 0x26
push eax
push ecx
push 0xea
call fcn.00458700
lea edx, [esp + 0x78]
push edx
call fcn.00458c30
mov eax, dword [0x60f76c]
push 1
push 0
push 0
push 0
push 0
push 0x14
add eax, 0x17
push 0x4e
push eax
push 0xde
push 0x3f000000
call fcn.00462d60
mov al, byte [0x60f784]
add esp, 0x64
test al, al
pop esi
pop ebp
pop ebx
je 0x462440
mov eax, dword [0x60f66c]
sar eax, 0xc
cmp eax, 0x17
jge 0x4623e0
mov ecx, dword [0x60f76c]
push 2
push 0
push 0x18
push 0x18
add eax, 0xfffffff0
push 0x18
push eax
add ecx, 0x17
push 0x4e
push ecx
jmp 0x462411
push 2
push 0
push 0x18
cmp eax, 0x24
push 0x18
push 0x18
jle 0x462404
mov ecx, dword [0x60f76c]
mov edx, 0x2b
sub edx, eax
add ecx, eax
push edx
push 0x4e
push ecx
jmp 0x462411
mov edx, dword [0x60f76c]
push 7
add edx, eax
push 0x4e
push edx
push 0xde
push 0x3f000000
call fcn.00462d60
mov eax, dword [0x60f66c]
add esp, 0x28
add eax, 0xed6
cmp eax, 0x2b000
mov dword [0x60f66c], eax
jle 0x462440
mov byte [0x60f784], 0
mov al, byte [0x60f785]
test al, al
je 0x462497
mov eax, dword [0x60f74c]
mov ecx, dword [0x60f76c]
push 2
push 0
push 0x20
push 0x20
sar eax, 0xc
push 0x20
push 1
add eax, ecx
push 0x4e
push eax
push 0xde
push 0x3f000000
call fcn.00462d60
mov eax, dword [0x60f74c]
add esp, 0x28
add eax, 0x91e
cmp eax, 0x2b000
mov dword [0x60f74c], eax
jle 0x462497
mov byte [0x60f785], 0
add esp, 0x54
ret