Function at 0x432250
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x204
mov eax, dword [0x4a616c]
push ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp + 0x44], eax
mov ecx, dword [0x4b68c4]
mov eax, ebx
neg eax
sbb eax, eax
push ebp
push esi
and al, 0x80
push edi
lea edx, [esp + 0x14]
add eax, 0x100
push 0xc
push edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x48], eax
call fcn.00418f20
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edi, 0x10
mov ebp, 0x18
mov edx, dword [ecx]
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov eax, dword [eax]
add esp, 8
mov esi, dword [ecx]
mov ecx, esi
shl edi, cl
mov ecx, edx
shl ebp, cl
mov ecx, eax
or edi, ebp
mov ebp, 8
shl ebp, cl
mov ecx, esi
mov esi, 0xc
or edi, ebp
mov ebp, 8
shl ebp, cl
mov ecx, edx
mov edx, 4
shl esi, cl
mov ecx, eax
mov dword [esp + 0x188], edi
mov edi, dword [0x4b5b4c]
shl edx, cl
or ebp, esi
or ebp, edx
test ebx, ebx
mov dword [esp + 0x18c], ebp
jne 0x43231f
lea eax, [edi + 0xb470]
lea ecx, [edi + 0xb4a4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
jmp 0x432333
lea edx, [edi + 0xb5a8]
lea eax, [edi + 0xb5dc]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], str.Config_all
mov dword [esp + 0x58], 0x4a7928
mov dword [esp + 0x5c], str.Down
mov dword [esp + 0x60], 0x4a7934
mov dword [esp + 0x64], 0x4a793c
mov dword [esp + 0x68], 0x4a7944
mov dword [esp + 0x6c], 0x4a7948
mov dword [esp + 0x70], 0x4a794c
mov dword [esp + 0x74], 0x4a7950
mov dword [esp + 0x78], 0x4a7954
mov dword [esp + 0x7c], 0x4a7958
mov dword [esp + 0x80], 0x4a795c
mov dword [esp + 0x84], str.Default
mov dword [esp + 0x88], 0x4a796c
lea edx, [esp + 0x44]
lea eax, [esp + 0x110]
mov esi, 2
mov ecx, dword [edx]
add edx, 4
add eax, 0x2c
dec esi
mov ebx, dword [ecx + 4]
mov dword [eax - 0x30], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax - 0x2c], ebx
mov ebx, dword [ecx + 0x10]
mov dword [eax - 0x28], ebx
mov ebx, dword [ecx + 8]
mov dword [eax - 0x24], ebx
mov ebx, dword [ecx + 0x14]
mov dword [eax - 0x20], ebx
mov ebx, dword [ecx + 0x18]
mov dword [eax - 0x1c], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [eax - 0x18], ebx
mov ebx, dword [ecx + 0x20]
mov dword [eax - 0x14], ebx
mov ebx, dword [ecx + 0x24]
mov dword [eax - 0x10], ebx
mov ebx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [eax - 0xc], ebx
mov dword [eax - 8], ecx
jne 0x4323bc
mov edx, dword [edi + 0x5cc4]
push 0
push edx
call fcn.00486bb0
push 0x3c
call fcn.00482b00
add esp, 0xc
call fcn.0042b350
call fcn.00447e60
call fcn.00448140
call fcn.0042a170
call fcn.0042a4f0
mov dword [0x4a616c], 1
call fcn.00417400
mov eax, dword [0x4b5b4c]
add eax, 0xb1d4
push eax
call fcn.0040c520
xor eax, eax
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
call fcn.00447e60
call fcn.0042aed0
call fcn.0042b460
test eax, eax
je 0x432496
call fcn.0042b3f0
mov dword [esp + 0x34], eax
call fcn.00448120
test eax, eax
je 0x4324a8
call fcn.004480d0
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x30]
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.00415550
add esp, 8
call fcn.0042a480
test eax, eax
je 0x4324c8
call fcn.0042a370
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
and al, 0x9f
cmp ebx, 0x1c
je 0x4324e1
cmp eax, 5
jl 0x4324e9
cmp eax, 0x20
jge 0x4324e9
mov dword [esp + 0x1c], 1
cmp ebx, 0xc8
mov ecx, 1
je 0x4324fa
cmp eax, ecx
jne 0x4324fe
mov dword [esp + 0x20], ecx
cmp ebx, 0xd0
je 0x43250b
cmp eax, 2
jne 0x43250f
mov dword [esp + 0x28], ecx
cmp ebx, 0xcb
je 0x43251c
cmp eax, 3
jne 0x432520
mov dword [esp + 0x2c], ecx
cmp ebx, 0xcd
je 0x43252d
cmp eax, 4
jne 0x432531
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x10]
xor esi, esi
cmp edi, esi
je 0x43254f
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
cmp ebx, 0x3b
je 0x432559
cmp ebx, 0x3c
jne 0x432571
xor eax, eax
cmp ebx, 0x3b
setne al
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
jmp 0x432579
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp ebx, 0x3d
je 0x432583
cmp ebx, 0x3e
jne 0x43259c
xor eax, eax
cmp ebx, 0x3d
setne al
mov edx, 0xc
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
cmp ebx, ecx
jne 0x432631
cmp edi, esi
jne 0x4325b7
mov edx, 0xd
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
jmp 0x432631
xor edx, edx
cmp eax, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], esi
jl 0x4325cd
cmp eax, ecx
jle 0x432608
push 0x5fb
push str.D:mugenw_srcmugenmenus.c
call fcn.00418f50
add esp, 4
push eax
push 0x4a7990
push 0x4b6d60
call fcn.00492257
push 0x4b6d60
call fcn.004187d0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
add esp, 0x14
lea ecx, [eax + eax*4]
lea ecx, [eax + ecx*2]
shl ecx, 2
lea edi, [esp + ecx + 0x10c]
lea esi, [esp + ecx + 0x1bc]
mov ecx, 0xb
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x10]
mov ecx, 1
xor esi, esi
cmp dword [esp + 0x20], esi
je 0x43264f
cmp edx, esi
jle 0x432661
dec edx
cmp edx, ecx
mov dword [esp + 0x18], edx
jl 0x43264f
cmp edx, 0xc
jge 0x43264f
xor edx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x28], esi
je 0x43267e
cmp edx, 0xd
jge 0x432668
inc edx
mov dword [esp + 0x18], edx
jmp 0x43266c
mov edx, 0xd
jmp 0x43264b
xor edx, edx
jmp 0x43267a
cmp edx, ecx
jl 0x43267e
cmp edx, 0xc
jge 0x43267e
mov edx, 0xc
mov dword [esp + 0x18], edx
cmp dword [esp + 0x2c], esi
je 0x43268a
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x24], esi
je 0x432696
mov eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x4326e4
cmp edx, esi
jne 0x4326e4
lea edx, [eax + eax*4]
lea ecx, [eax + edx*2]
shl ecx, 2
inc eax
xor ebx, ebx
lea edi, [esp + ecx + 0x1bc]
lea esi, [esp + ecx + 0x10c]
mov ecx, 0xb
mov dword [esp + 0x10], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x38], ebx
mov dword [0x4a616c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov edi, eax
mov esi, dword [esp + 0x218]
jmp 0x432728
cmp edx, 0xc
jne 0x4326db
cmp ecx, esi
je 0x4326db
mov esi, dword [esp + 0x218]
xor edx, edx
lea ecx, [eax + eax*4]
lea edi, [edx + eax]
test esi, esi
lea ecx, [edi + ecx*2]
jne 0x43270e
shl ecx, 2
mov edi, dword [ecx + 0x49f370]
jmp 0x432717
shl ecx, 2
mov edi, dword [ecx + 0x49f3c8]
inc edx
mov dword [esp + ecx + 0x10c], edi
cmp edx, 0xb
jl 0x4326f6
mov edi, dword [esp + 0x10]
test edi, edi
je 0x432793
cmp ebx, 1
je 0x432793
test esi, esi
jne 0x432744
test ebx, ebx
je 0x43275a
test bh, 1
je 0x432986
jmp 0x43275a
cmp esi, 1
jne 0x43275a
mov eax, dword [esp + 0x30]
test eax, eax
je 0x43275a
test ah, 1
je 0x43298a
cmp ebx, 0x39
jne 0x432793
mov ecx, dword [esp + 0x38]
lea eax, [edi + edi*4]
lea edx, [ecx + edi]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x40]
mov dword [esp + eax*4 + 0xe0], edx
inc ecx
cmp ecx, 0xb
mov dword [esp + 0x38], ecx
jl 0x432793
mov dword [esp + 0x10], 0
mov dword [0x4a616c], 1
mov eax, dword [0x4b5b4c]
push 0
push 0
mov ecx, dword [eax + 0xab2c]
push ecx
call fcn.0040aa70
mov edx, dword [0x4b5b4c]
mov eax, dword [edx + 0xab2c]
push eax
call fcn.0040ad10
mov eax, dword [0x4b5b4c]
add esp, 0x10
mov ecx, dword [eax + 0xb408]
test ecx, ecx
jne 0x433171
call fcn.00448800
mov ecx, dword [0x4b5b4c]
push 0
mov edx, dword [ecx + 0xab2c]
push edx
call fcn.0040aca0
mov eax, dword [esp + 0x190]
push eax
push 0xea
push 0x11b
push 0x10
push 0x22
call fcn.00489a40
push ebp
push 0xe9
push 0x21
push 0x11
push 0x21
call fcn.00489a40
push ebp
push 0xe9
push 0x11c
push 0x11
push 0x11c
call fcn.00489a40
add esp, 0x44
push ebp
push 0xf
push 0x11a
push 0xf
push 0x23
call fcn.00489a40
push ebp
push 0xeb
push 0x11a
push 0xeb
push 0x23
call fcn.00489a40
add esp, 0x28
test esi, esi
mov esi, str.JOYSTICK_CONFIG
jne 0x432868
mov esi, str.KEY_CONFIG
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x1f
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
mov eax, dword [0x4b6c4c]
push edx
push 0xa
cdq
sub eax, edx
mov edx, dword [0x4b5b4c]
sar eax, 1
push eax
mov eax, dword [edx + 0x5cd8]
push eax
push esi
call fcn.0041b080
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x1f
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x10
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push 0x1b
push 0x5a
mov eax, dword [edx + 0x5cd8]
push eax
push str.PLAYER_1
call fcn.0041b080
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x20
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push 0x1b
push 0xe5
mov eax, dword [edx + 0x5cd8]
push eax
push str.PLAYER_2
call fcn.0041b080
mov eax, dword [esp + 0x258]
mov ecx, 0x1c2
cdq
idiv ecx
add esp, 0x3c
cmp edx, 0x96
jge 0x4329b1
mov ecx, 7
mov esi, str.Press_a_key_to_assign_to_entry
lea edi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4329df
mov eax, dword [esp + 0x30]
cmp ebx, 0x39
je 0x43275f
test esi, esi
jne 0x432999
mov eax, ebx
mov ecx, dword [esp + 0x38]
lea edx, [edi + edi*4]
add edi, ecx
lea edx, [edi + edx*2]
mov dword [esp + edx*4 + 0xe0], eax
jmp 0x432777
cmp edx, 0x12c
jge 0x4329cc
mov ecx, 8
mov esi, str.Press_spacebar_to_disable_entry
lea edi, [esp + 0x8c]
jmp 0x4329dd
mov ecx, 5
mov esi, str.Press_esc_to_cancel
lea edi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
cmp eax, 1
jne 0x432a3c
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x18
mov ecx, dword [eax]
mov eax, 0x30
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x18
shl eax, cl
lea ecx, [esp + 0x8c]
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push 0xd1
push 0x31
mov eax, dword [edx + 0x5cd4]
push eax
push ecx
call fcn.0041b020
jmp 0x432a96
cmp eax, 2
jne 0x432a99
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x18
mov ecx, dword [eax]
mov eax, 0x30
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x18
shl eax, cl
lea ecx, [esp + 0x8c]
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push 0xd1
push 0x10d
mov eax, dword [edx + 0x5cd4]
push eax
push ecx
call fcn.0041b050
add esp, 0x14
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov edx, dword [sym.imp.alleg40.dll_Ordinal_36]
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov eax, dword [sym.imp.alleg40.dll_Ordinal_40]
mov esi, 0x18
mov ebx, dword [edx]
mov ecx, dword [ecx]
mov edx, dword [eax]
mov dword [esp + 0x2c], ecx
shl esi, cl
mov eax, 0x30
mov ecx, edx
shl eax, cl
mov ecx, ebx
mov dword [esp + 0x3c], edx
or esi, eax
mov eax, 0x18
shl eax, cl
or esi, eax
cmp ebp, 0xe
mov dword [esp + 0x20], esi
je 0x432af1
cmp ebp, 0xc
je 0x432af1
test ebp, ebp
jne 0x432af5
inc dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
lea edi, [ecx + ebp]
lea eax, [edi + edi*2]
lea edi, [edi + eax*4 + 0x1e]
mov eax, dword [esp + 0x18]
cmp ebp, eax
jne 0x432c6a
mov ecx, dword [esp + 0x21c]
lea eax, [ecx*4]
mov ecx, eax
and ecx, 0x8000007f
jns 0x432b2c
dec ecx
or ecx, 0xffffff80
inc ecx
cmp ecx, 0x40
jge 0x432b42
and eax, 0x8000003f
jns 0x432b3d
dec eax
or eax, 0xffffffc0
inc eax
add eax, 0x20
jmp 0x432b58
mov ecx, eax
and ecx, 0x8000003f
jns 0x432b51
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, 0x5f
sub eax, ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x432b84
mov ecx, dword [esp + 0x3c]
mov edx, eax
sar eax, 2
sar edx, 3
shl eax, cl
mov ecx, dword [esp + 0x2c]
mov ebp, edx
shl ebp, cl
mov ecx, ebx
shl edx, cl
or eax, ebp
mov ebp, dword [esp + 0x28]
or eax, edx
jmp 0x432bad
mov ecx, dword [esp + 0x2c]
mov eax, 0xc
shl eax, cl
mov ecx, 0x18
mov dword [esp + 0x3c], ecx
mov ecx, edx
mov edx, dword [esp + 0x3c]
shl edx, cl
mov ecx, ebx
or eax, edx
mov edx, 0xc
shl edx, cl
or eax, edx
cmp ebp, 0xd
jge 0x432bdd
mov edx, dword [esp + 0x14]
push eax
lea eax, [edi + 3]
lea ecx, [edx*8]
push eax
sub ecx, edx
lea eax, [edi - 0xa]
lea ecx, [ecx + ecx*4]
lea edx, [ecx*4 + 0x87]
lea ecx, [ecx*4 + 0x2c]
push edx
push eax
push ecx
jmp 0x432bed
lea edx, [edi + 3]
push eax
push edx
lea eax, [edi - 0xa]
push 0x87
push eax
push 0x2c
call fcn.00489680
mov eax, dword [esp + 0x28]
add esp, 0x14
test eax, eax
je 0x432c35
cmp dword [esp + 0x18], 0xd
je 0x432c35
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_36]
mov eax, dword [sym.imp.alleg40.dll_Ordinal_40]
mov esi, 0x1f
mov edx, 0x3f
mov ecx, dword [ecx]
shl esi, cl
mov ecx, dword [eax]
mov eax, dword [sym.imp.alleg40.dll_Ordinal_44]
shl edx, cl
mov ecx, dword [eax]
or esi, edx
mov edx, 0x1f
shl edx, cl
or esi, edx
jmp 0x432c6a
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_36]
mov eax, 0x1f
mov edx, 0x3f
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or eax, edx
mov edx, 0x1f
shl edx, cl
or eax, edx
mov dword [esp + 0x20], eax
cmp ebp, 0xb
jle 0x432c7b
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x433083
mov edx, dword [esp + 0x20]
mov eax, dword [0x4b5b4c]
mov ebx, dword [esp + ebp*4 + 0x54]
push edx
mov ecx, dword [eax + 0x5cd8]
push edi
push 0x31
push ecx
push ebx
call fcn.0041b020
add esp, 0x14
cmp ebp, 0xc
jg 0x432cbe
mov edx, dword [0x4b5b4c]
push esi
push edi
push 0xbd
mov eax, dword [edx + 0x5cd8]
push eax
push ebx
call fcn.0041b020
add esp, 0x14
test ebp, ebp
jne 0x432d6a
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push edi
push 0x81
mov eax, dword [edx + 0x5cd8]
push eax
push str._F1_
call fcn.0041b050
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push edi
push 0x10d
mov eax, dword [edx + 0x5cd8]
push eax
push str._F2_
call fcn.0041b050
add esp, 0x28
jmp 0x433069
cmp ebp, 0xc
jne 0x432e17
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push edi
push 0x81
mov eax, dword [edx + 0x5cd8]
push eax
push str._F3_
call fcn.0041b050
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push edi
push 0x10d
mov eax, dword [edx + 0x5cd8]
push eax
push str._F4_
call fcn.0041b050
add esp, 0x28
jmp 0x433069
cmp ebp, 0xd
jne 0x432e6a
mov eax, dword [sym.imp.alleg40.dll_Ordinal_36]
mov edx, 0x10
mov ecx, dword [eax]
mov eax, 0x3f
shl edx, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
mov ecx, dword [ecx]
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [ecx]
or edx, eax
mov eax, 0x1f
shl eax, cl
or edx, eax
push edx
mov edx, dword [0x4b5b4c]
push edi
push 0x81
mov eax, dword [edx + 0x5cd8]
push eax
push str._Esc_
jmp 0x433061
cmp ebp, 1
jl 0x433069
cmp ebp, 0xb
jg 0x433069
mov eax, dword [esp + 0x218]
mov ebx, dword [esp + 0x40]
test eax, eax
mov eax, dword [esp + ebp*4 + 0x108]
jne 0x432f75
cmp eax, ebx
jne 0x432ec2
mov ecx, dword [0x4a7a60]
mov edx, dword [0x4a7a64]
mov al, byte [0x4a7a68]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [esp + 0x94], al
jmp 0x432ede
push eax
call fcn.0042b500
push eax
lea ecx, [esp + 0x94]
push 0x4a7a6c
push ecx
call fcn.00492257
add esp, 0x10
mov edx, dword [esp + 0x20]
mov eax, dword [0x4b5b4c]
push edx
push edi
mov ecx, dword [eax + 0x5cd8]
push 0x81
lea edx, [esp + 0x98]
push ecx
push edx
call fcn.0041b050
mov eax, dword [esp + ebp*4 + 0x148]
add esp, 0x14
cmp eax, ebx
jne 0x432f38
mov eax, dword [0x4a7a70]
mov ecx, dword [0x4a7a74]
mov dl, byte [0x4a7a78]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], dl
jmp 0x432f54
push eax
call fcn.0042b500
push eax
lea eax, [esp + 0x94]
push 0x4a7a7c
push eax
call fcn.00492257
add esp, 0x10
mov ecx, dword [0x4b5b4c]
push esi
push edi
push 0x10d
mov edx, dword [ecx + 0x5cd8]
lea eax, [esp + 0x98]
push edx
push eax
jmp 0x433061
cmp eax, ebx
jne 0x432fa1
mov ecx, dword [0x4a7a80]
mov edx, dword [0x4a7a84]
mov al, byte [0x4a7a88]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [esp + 0x94], al
jmp 0x432fc6
mov ecx, eax
lea edx, [esp + 0x8c]
sar eax, 5
and eax, 0x11
and ecx, 0xffffff9f
add eax, 0x41
push ecx
push eax
push 0x4a7a8c
push edx
call fcn.00492257
add esp, 0x10
mov eax, dword [esp + 0x20]
mov ecx, dword [0x4b5b4c]
push eax
push edi
mov edx, dword [ecx + 0x5cd8]
push 0x81
lea eax, [esp + 0x98]
push edx
push eax
call fcn.0041b050
mov eax, dword [esp + ebp*4 + 0x148]
add esp, 0x14
cmp eax, ebx
jne 0x433021
mov ecx, dword [str.Not_used]
mov edx, dword [0x4a7a98]
mov al, byte [0x4a7a9c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [esp + 0x94], al
jmp 0x433046
mov ecx, eax
lea edx, [esp + 0x8c]
sar eax, 5
and eax, 0x11
and ecx, 0xffffff9f
add eax, 0x41
push ecx
push eax
push str._c__02i
push edx
call fcn.00492257
add esp, 0x10
mov eax, dword [0x4b5b4c]
push esi
push edi
push 0x10d
mov ecx, dword [eax + 0x5cd8]
lea edx, [esp + 0x98]
push ecx
push edx
call fcn.0041b050
add esp, 0x14
inc ebp
cmp ebp, 0xe
mov dword [esp + 0x28], ebp
jl 0x432aa3
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43314e
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x21c]
lea ecx, [eax + eax*2]
lea esi, [edx*4]
lea edi, [eax + ecx*4 + 0x38]
mov eax, esi
and eax, 0x8000007f
jns 0x4330aa
dec eax
or eax, 0xffffff80
inc eax
cmp eax, 0x40
jge 0x4330c1
and esi, 0x8000003f
jns 0x4330bc
dec esi
or esi, 0xffffffc0
inc esi
add esi, 0x20
jmp 0x4330d7
mov ecx, esi
and ecx, 0x8000003f
jns 0x4330d0
dec ecx
or ecx, 0xffffffc0
inc ecx
mov esi, 0x5f
sub esi, ecx
mov eax, esi
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_36]
cdq
sub eax, edx
mov ecx, dword [ecx]
mov edx, eax
mov eax, 0x60
sar edx, 1
sub eax, edx
mov edx, 0x60
sar eax, 3
shl eax, cl
mov ecx, dword [sym.imp.alleg40.dll_Ordinal_40]
sub edx, esi
sar edx, 2
mov ecx, dword [ecx]
shl edx, cl
sar esi, 3
or eax, edx
mov edx, dword [sym.imp.alleg40.dll_Ordinal_44]
mov ecx, dword [edx]
shl esi, cl
mov ecx, dword [esp + 0x10]
or eax, esi
cmp ecx, 1
push eax
jne 0x433134
lea eax, [edi + 2]
add edi, 0xfffffff7
push eax
push 0x87
push edi
push 0x2c
jmp 0x433146
lea ecx, [edi + 2]
add edi, 0xfffffff7
push ecx
push 0x113
push edi
push 0xb8
call fcn.00489680
add esp, 0x14
mov edx, dword [0x4b5b4c]
push 1
mov eax, dword [edx + 0xab2c]
push eax
call fcn.0040aca0
mov eax, dword [0x4b5b4c]
mov ebp, dword [esp + 0x194]
add esp, 8
mov ecx, dword [eax + 0xc934]
test ecx, ecx
jne 0x433185
call fcn.00482b50
mov eax, dword [0x4b5b4c]
mov ecx, dword [eax + 0xb408]
test ecx, ecx
jne 0x43319e
mov ecx, dword [eax + 0x5cf8]
test ecx, ecx
je 0x43319e
call sub.alleg40.dll_Ordinal_745
call fcn.004174e0
mov ecx, dword [0x4b5b4c]
mov eax, dword [ecx + 0xb408]
test eax, eax
jne 0x4331b8
call fcn.00448830
call fcn.00417420
mov ecx, dword [esp + 0x21c]
mov eax, dword [esp + 0x1c]
inc ecx
test eax, eax
mov dword [esp + 0x21c], ecx
je 0x432449
cmp dword [esp + 0x18], 0xd
jne 0x432449
call fcn.00417400
lea ecx, [esp + 0x10c]
lea esi, [esp + 0x44]
mov edi, 2
mov edx, dword [esi]
mov eax, 0x49f420
mov ebx, dword [eax]
mov ebp, dword [ecx]
add eax, 4
add ecx, 4
cmp eax, 0x49f44c
mov dword [edx + ebx*4], ebp
jl 0x4331ff
add esi, 4
dec edi
jne 0x4331f8
cmp dword [esp + 0x218], 1
jne 0x43325e
mov ecx, dword [0x4b5b4c]
xor edx, edx
mov eax, 0xb618
cmp dword [eax + ecx], 0
je 0x433251
lea esi, [edx + ecx + 0xb5a8]
lea edi, [edx + ecx + 0xb540]
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4b5b4c]
add eax, 4
add edx, 0x34
cmp eax, 0xb620
jl 0x433230
push str.Setting_up_input_n
call fcn.00415ef0
call fcn.00426310
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
push eax
mov dword [0x4a616c], edx
call fcn.00482b00
mov eax, dword [esp + 0x224]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x204
ret