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

Disassembly:
and al, 0x10
or ebx, ecx
jmp 0x45532b
mov dword [esp + 0x10], ebx
cmp byte [esp + 0xa54], 4
jne 0x455484
cmp dword [ebp + 0xc], 0
jne 0x455484
test byte [ebp + 5], 1
jne 0x455484
mov esi, dword [esp + 0xa50]
mov eax, dword [esi + 8]
test eax, eax
je 0x455375
push 0xa
lea edx, [esp + 0x24c]
push edx
inc eax
push eax
call 0x4d62c1
add esp, 0xc
jmp 0x45537f
xor eax, eax
mov word [esp + 0x248], ax
push edi
push str.Button_s
mov eax, 0x400
lea ecx, [esp + 0x250]
call 0x4bb712
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea ecx, [esp + 0x264]
push 0x4a6898
push ecx
xor eax, eax
call 0x4bbe93
add esp, 0x24
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea edx, [esp + 0x25c]
push 0x4a54bc
push edx
xor eax, eax
call 0x4bbeb7
add esp, 0x1c
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea eax, [esp + 0x25c]
push 0x4a2d60
push eax
xor eax, eax
call 0x4bbedb
add esp, 0x1c
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea ecx, [esp + 0x25c]
push 0x4a2ecc
push ecx
xor eax, eax
call 0x4bbeff
add esp, 0x1c
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea edx, [esp + 0x25c]
push 0x4a5ef8
push edx
xor eax, eax
call 0x4bbf23
add esp, 0x1c
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a5c64
lea eax, [esp + 0x25c]
push 0x4a689c
push eax
xor eax, eax
call 0x4bbf47
add esp, 0x1c
lea edi, [esp + 0x248]
mov eax, 0x4c3000
call fcn.0046d4eb
mov dword [ebp + 0xc], eax
jmp 0x45548b
mov esi, dword [esp + 0xa50]
mov bl, byte [ebp + 6]
mov ecx, esi
call 0x4b2bd1
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x4554b0
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4 - 0x14]
mov dword [esp + 0x1c], ecx
jmp 0x4554bb
lea edx, [esp + 0x1f8]
mov dword [esp + 0x1c], edx
mov ecx, SysReAllocString
cmp dword [esp + 0x80], ecx
jne 0x455581
cmp dword [esp + 0x84], ecx
jne 0x455581
test eax, eax
je 0x455518
mov al, byte [ebp + 7]
mov ecx, esi
call 0x4b2da4
test eax, eax
jne 0x455518
mov ebx, dword [esp + 0xa50]
mov esi, dword [esp + 0x4c]
push ebx
lea edi, [esp + 0x54]
call 0x4b2ded
mov eax, dword [ebx + 0x78]
add eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x7c]
add eax, dword [esp + 0x54]
jmp 0x455534
mov eax, dword [esi + 0x8c]
add eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x80]
add eax, dword [esi + 0x7c]
mov dword [esp + 0x80], ecx
cmp byte [esp + 0xa54], 1
mov dword [esp + 0x84], eax
jne 0x455581
mov edx, dword [esp + 0xa50]
cmp dword [edx + 0xc], 0
je 0x455597
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 4], 1
jne 0x455597
mov dl, byte [ecx + 6]
cmp dl, byte [ebp + 6]
jne 0x455597
mov cl, byte [ecx + 7]
cmp cl, byte [ebp + 7]
jne 0x455597
mov cl, byte [esp + 0xa54]
add eax, 8
mov dword [esp + 0x84], eax
xor dl, dl
jmp 0x4555a4
mov cl, byte [esp + 0xa54]
cmp cl, 0xe
je 0x4555a2
cmp cl, 0xa
je 0x4555a2
cmp cl, 0xb
je 0x4555a2
mov cl, byte [esp + 0xa54]
xor dl, dl
jmp 0x4555a4
mov dl, 1
fld1
test dl, dl
sete bl
cmp dword [esp + 0x8c], 0x80000000
mov byte [esp + 0x18], bl
jne 0x455730
fcom dword [esp + 0x90]
fnstsw ax
test ah, 0x41
jne 0x455730
mov eax, dword [esp + 0x38]
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x4555e2.4
jmp dword [eax*4 + 0x4576e4]
mov eax, dword [esp + 0x10]
fstp st(0)
fld dword [0x4b78e4]
in al, 0x78
dec ebx
add cl, bl
pushfd
and al, 0x90
add byte [eax], al
invalid
test al, 1
je 0x455608
test al, 2
je 0x455751
fstp st(0)
fld dword [0x4b78e4]
fstp dword [esp + 0x90]
jmp 0x455751
fstp st(0)
fld dword [0x4b78e0]
fstp dword [esp + 0x90]
jmp 0x455751
fstp st(0)
fld dword [0x4b78dc]
fstp dword [esp + 0x90]
jmp 0x455751
mov eax, dword [esp + 0xa5c]
cmp word [eax], 0
jne case.0x4555e2.4
test byte [esp + 0x10], 4
mov esi, dword [esp + 0xa50]
je 0x455716
fstp st(0)
fld dword [0x4b78e4]
fstp dword [esp + 0x90]
jmp 0x455758
test byte [esp + 0x10], 0x40
fstp st(0)
mov esi, dword [esp + 0xa50]
je 0x455710
mov ecx, dword [esi + 0x48]
mov eax, dword [0x4c2f44]
imul ecx, ecx, 0x94
mov eax, dword [ecx + eax + 0x84]
add eax, eax
mov dword [esp + 0x8c], eax
jmp 0x455758
mov eax, dword [esp + 0x10]
fstp st(0)
test al, 2
je 0x4556ea
fld dword [0x4b78e0]
fstp dword [esp + 0x90]
jmp 0x455751
push eax
mov eax, dword [esp + 0xb0]
call 0x4b26b3
mov dword [esp + 0x8c], eax
jmp 0x455751
test byte [esp + 0x10], 4
fstp st(0)
mov esi, dword [esp + 0xa50]
je 0x4556ae
fld dword [0x4b78e0]
fstp dword [esp + 0x90]
jmp 0x455758
fstp st(0)
fld dword [0x4b78d8]
fstp dword [esp + 0x90]
jmp 0x455751
fstp st(0)
cmp cl, 7
je 0x45573c
cmp cl, 8
jne 0x455751
cmp byte [0x4c3c1b], 0
je 0x455751
or dword [esp + 0x10], 0x400
jmp 0x455751
fstp st(0)