Function at 0x42113f
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x3c
mov eax, dword [0x4ca408]
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [eax - 8], 0
push esi
push edi
mov dword [esp + 0x10], ecx
jne 0x42116a
push 3
push 0xd3c6
push dword [ecx + 0xa4]
call ebp
mov ecx, dword [esp + 0x10]
push 1
push 1
call fcn.0042455f
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x50]
neg eax
sbb eax, eax
push 8
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
and al, 0xf8
pop ebx
add eax, ebx
push eax
push 0xd1a3
push edi
call esi
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1a4
push edi
call esi
call fcn.004172d8
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd3c8
push edi
call esi
mov eax, dword [0x4c9e20]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd3d1
push edi
call esi
mov eax, dword [0x4ca4a4]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1c5
push edi
call esi
mov eax, dword [0x4ca4a4]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1c4
push edi
call esi
lea ecx, [esp + 0x1c]
call fcn.00406723
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 7
push eax
push 1
push 0
push edi
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
push dword [esp + 0x2c]
mov eax, dword [0x4581d0]
mov dword [esp + 0x54], eax
push dword [0x4cada4]
push str.fff:_d_mii.wID:_d_n
lea eax, [esp + 0x5c]
push eax
call fcn.00408f2b
add esp, 0x10
inc dword [0x4cada4]
push dword [esp + 0x50]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x50]
call fcn.00401802
cmp dword [esp + 0x2c], 0x80d8
jne 0x421305
push 0
push 0xffffffffffffffff
call fcn.00425379
neg eax
pop ecx
sbb eax, eax
pop ecx
and eax, ebx
push eax
push 0x80ef
push edi
call esi
lea ecx, [esp + 0x50]
call fcn.0042ce63
lea ecx, [esp + 0x50]
call fcn.0042cee0
mov dword [esp + 0x18], eax
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80ab
push edi
call esi
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80aa
push edi
call esi
call fcn.00421022
movzx eax, al
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80f4
push edi
call esi
call fcn.0041740c
movzx eax, al
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80f5
push edi
call esi
lea ecx, [esp + 0x50]
call fcn.0042ced9
mov eax, dword [0x45a000]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1c7
push edi
call esi
mov eax, dword [0x459ffc]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1c8
push edi
call esi
mov eax, dword [0x45a004]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd1d2
push edi
call esi
mov dword [esp + 0x50], 0xd1cb
mov eax, dword [esp + 0x50]
add eax, 0xffff2e35
cmp dword [0x4ca4a8], eax
jne 0x421367
mov eax, ebx
jmp 0x421369
xor eax, eax
push eax
push dword [esp + 0x54]
push edi
call esi
inc dword [esp + 0x50]
cmp dword [esp + 0x50], 0xd1d0
jle 0x421352
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, 3
push eax
push 0xd1a4
push edi
call ebp
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
and eax, 3
push eax
push 0xd1a3
push edi
call ebp
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x548]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8089
push edi
call esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa80]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x808a
push edi
call esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa80]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x808b
push edi
call esi
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa80], 2
jne 0x42140c
mov eax, ebx
jmp 0x42140e
xor eax, eax
push eax
push 0x80a9
push edi
call esi
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa80], 3
jne 0x421428
mov eax, ebx
jmp 0x42142a
xor eax, eax
push eax
push 0xcd94
push edi
call esi
mov eax, dword [0x4ca4b0]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd18a
push edi
call esi
mov eax, dword [0x4ca4b4]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd18b
push edi
call esi
mov eax, dword [0x4ca528]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3ba
push edi
call esi
mov eax, dword [0x4ca52c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3b9
push edi
call esi
mov eax, dword [0x4ca530]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3bb
push edi
call esi
mov eax, dword [0x4c9e90]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3bc
push edi
call esi
mov eax, dword [0x4c9e88]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3bd
push edi
call esi
mov eax, dword [0x4c9e80]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3be
push edi
call esi
mov eax, dword [0x4c9e18]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3bf
push edi
call esi
mov eax, dword [0x4c9e18]
or eax, dword [0x4c9e80]
or eax, dword [0x4c9e88]
or eax, dword [0x4c9e90]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3c0
push edi
call esi
mov eax, dword [0x4ca500]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x9c5a
push edi
call esi
mov eax, dword [0x4c9e40]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3ca
push edi
call esi
mov eax, dword [0x4c9e40]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd806
push edi
call esi
mov eax, dword [0x4c9e38]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd804
push edi
call esi
mov eax, dword [0x4c9e38]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd805
push edi
call esi
mov eax, dword [0x4ca504]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xa7e5
push edi
call esi
mov eax, dword [0x4ca508]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xa7e6
push edi
call esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x54c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x808f
push edi
call esi
mov eax, dword [0x4ca4fc]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x9c5b
push edi
call esi
mov eax, dword [0x4ca4fc]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd198
push edi
call esi
mov eax, dword [0x4ca54c]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80e3
push edi
call esi
mov eax, dword [0x4ca54c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80de
push edi
call esi
cmp dword [0x4ca54c], 2
jne 0x42161d
mov eax, ebx
jmp 0x42161f
xor eax, eax
push eax
push 0x80df
push edi
call esi
cmp dword [0x4ca54c], 3
jne 0x421635
mov eax, ebx
jmp 0x421637
xor eax, eax
push eax
push 0x80e0
push edi
call esi
cmp dword [0x4ca54c], 4
jne 0x42164d
mov eax, ebx
jmp 0x42164f
xor eax, eax
push eax
push 0x80e1
push edi
call esi
cmp dword [0x4ca54c], 5
jne 0x421665
mov eax, ebx
jmp 0x421667
xor eax, eax
push eax
push 0x80e2
push edi
call esi
mov eax, dword [0x45a044]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8096
push edi
call esi
mov eax, dword [0x4ca538]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x8091
push edi
call esi
mov eax, dword [0x45a048]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8092
push edi
call esi
mov eax, dword [0x45a048]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8093
push edi
call esi
cmp dword [0x45a048], 2
jne 0x4216d5
mov eax, ebx
jmp 0x4216d7
xor eax, eax
push eax
push 0x8094
push edi
call esi
cmp dword [0x45a048], 3
jne 0x4216ed
mov eax, ebx
jmp 0x4216ef
xor eax, eax
push eax
push 0x8095
push edi
call esi
mov eax, dword [0x4ca53c]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8097
push edi
call esi
mov eax, dword [0x4ca53c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x8098
push edi
call esi
cmp dword [0x4ca53c], 2
jne 0x421732
mov eax, ebx
jmp 0x421734
xor eax, eax
push eax
push 0x8099
push edi
call esi
cmp dword [0x4ca53c], 3
jne 0x42174a
mov eax, ebx
jmp 0x42174c
xor eax, eax
push eax
push 0x80b2
push edi
call esi
mov eax, dword [0x49c994]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd8c
push edi
call esi
mov eax, dword [0x4ca46c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd8d
push edi
call esi
mov eax, dword [0x4ca540]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80b4
push edi
call esi
mov eax, dword [0x4c9950]
cmp dword [eax - 8], 0
je 0x4217a5
xor eax, eax
mov dword [0x4ca544], eax
jmp 0x4217aa
mov eax, dword [0x4ca544]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x809b
push edi
call esi
mov eax, dword [0x4c9950]
mov eax, dword [eax - 8]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd88
push edi
call esi
mov eax, dword [0x4ca548]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80a8
push edi
call esi
mov eax, dword [0x45a04c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x840a
push edi
call esi
mov eax, dword [0x4ca520]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x809c
push edi
call esi
mov eax, dword [0x4ca524]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80af
push edi
call esi
mov ecx, dword [esp + 0x10]
push 2
call fcn.0041fe80
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80a5
push edi
call esi
mov eax, dword [0x45a050]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80b5
push edi
call esi
mov eax, dword [0x45a054]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80b6
push edi
call esi
mov eax, dword [0x45a058]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80b7
push edi
call esi
mov eax, dword [0x45a05c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80b8
push edi
call esi
mov eax, dword [0x4ca4f8]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80bb
push edi
call esi
mov eax, dword [0x4ca4f8]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd193
push edi
call esi
mov eax, dword [0x4ca4f8]
push 3
neg eax
sbb eax, eax
push 0x80c7
and al, 0xfd
push edi
add eax, 3
mov dword [esp + 0x5c], eax
call ebp
push 3
push 0xd17c
push edi
call ebp
push dword [esp + 0x50]
push 0x80c9
push edi
call ebp
push dword [esp + 0x50]
push 0x80c6
push edi
call ebp
mov eax, dword [0x45a030]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80c7
push edi
call esi
mov eax, dword [0x4ca50c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80c9
push edi
call esi
mov eax, dword [0x4ca510]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80c6
push edi
call esi
mov eax, dword [0x4ca514]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xcd91
push edi
call esi
mov eax, dword [0x4ca518]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80d5
push edi
call esi
mov eax, dword [0x4ca51c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xa7da
push edi
call esi
mov eax, dword [0x4ca51c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd191
push edi
call esi
mov eax, dword [0x4ca4cc]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x9c5d
push edi
call esi
mov eax, dword [0x4ca4cc]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd194
push edi
call esi
mov eax, dword [0x4ca4d0]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x9c5e
push edi
call esi
mov eax, dword [0x4ca474]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80e4
push edi
call esi
mov eax, dword [0x4c9e9c]
dec eax
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x80e5
push edi
call esi
mov eax, dword [0x45a018]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd8b
push edi
call esi
mov eax, dword [0x4ca468]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0xd18d
push edi
call esi
mov eax, dword [0x459ff4]
neg eax
sbb eax, eax
and al, 0xfd
add eax, 3
push eax
push 0xd18e
push edi
call ebp
mov eax, dword [0x4ca468]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd18e
push edi
call esi
mov eax, dword [0x45a008]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd183
push edi
call esi
mov eax, dword [0x45a00c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd184
push edi
call esi
mov eax, dword [0x45a010]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd185
push edi
call esi
mov eax, dword [0x4ca4ac]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd186
push edi
call esi
mov eax, dword [0x4ca48c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd187
push edi
call esi
mov eax, dword [0x4ca498]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd195
push edi
call esi
mov eax, dword [0x4ca4a0]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd196
push edi
call esi
mov eax, dword [0x4ca4bc]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd19d
push edi
call esi
mov eax, dword [0x4ca4bc]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd19c
push edi
call esi
mov eax, dword [0x45a01c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd19e
push edi
call esi
mov eax, dword [0x45a020]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd1a0
push edi
call esi
mov eax, dword [0x4ca474]
neg eax
sbb eax, eax
and al, 0xfd
add eax, 3
push eax
push 0x80e5
push edi
call ebp
mov eax, dword [0x4ca4d0]
neg eax
sbb eax, eax
and al, 0xf8
add eax, ebx
push eax
push 0x9c5f
push edi
call esi
mov eax, dword [0x4ca4cc]
neg eax
sbb eax, eax
and al, 0xfd
add eax, 3
push eax
push 0x9c5f
push edi
mov dword [esp + 0x1c], eax
call ebp
push dword [esp + 0x10]
push 0x9c5e
push edi
call ebp
push dword [esp + 0x10]
push 0xcd8b
push edi
call ebp
push dword [esp + 0x10]
push 0x80e4
push edi
call ebp
push dword [esp + 0x10]
push 0x80e5
push edi
call ebp
and dword [esp + 0x48], 0
mov eax, 0x80d4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x80d3
mov dword [esp + 0x24], 0x80d2
mov dword [esp + 0x28], 0x80d1
mov dword [esp + 0x2c], 0x80d0
mov dword [esp + 0x30], 0x80cf
mov dword [esp + 0x34], 0x80ce
mov dword [esp + 0x38], 0x80cd
mov dword [esp + 0x3c], 0x80cc
mov dword [esp + 0x40], 0x80cb
mov dword [esp + 0x44], 0x80d5
mov dword [esp + 0x14], ecx
push dword [esp + 0x50]
push eax
push edi
call ebp
add dword [esp + 0x14], 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
jne 0x421c1c
mov ebp, dword [sym.imp.USER32.dll_GetSubMenu]
push 1
push edi
call ebp
push 1
push eax
call ebp
mov ebp, dword [0x45a034]
mov eax, ebx
cmp ebp, 0x3c
je 0x421c54
mov eax, dword [esp + 0x50]
push eax
push 0x80d4
push edi
call esi
cmp ebp, 0x1e
mov eax, ebx
je 0x421c68
mov eax, dword [esp + 0x50]
push eax
push 0x80d3
push edi
call esi
cmp ebp, 0x14
mov eax, ebx
je 0x421c7c
mov eax, dword [esp + 0x50]
push eax
push 0x80d2
push edi
call esi
cmp ebp, 0xf
mov eax, ebx
je 0x421c90
mov eax, dword [esp + 0x50]
push eax
push 0x80d1
push edi
call esi
cmp ebp, 0xa
mov eax, ebx
je 0x421ca4
mov eax, dword [esp + 0x50]
push eax
push 0x80d0
push edi
call esi
cmp ebp, 5
mov eax, ebx
je 0x421cb8
mov eax, dword [esp + 0x50]
push eax
push 0x80cf
push edi
call esi
cmp ebp, 4
mov eax, ebx
je 0x421ccc
mov eax, dword [esp + 0x50]
push eax
push 0x80ce
push edi
call esi
cmp ebp, 3
mov eax, ebx
je 0x421ce0
mov eax, dword [esp + 0x50]
push eax
push 0x80cd
push edi
call esi
cmp ebp, 2
mov eax, ebx
je 0x421cf4
mov eax, dword [esp + 0x50]
push eax
push 0x80cc
push edi
call esi
cmp ebp, 1
mov eax, ebx
je 0x421d08
mov eax, dword [esp + 0x50]
push eax
push 0x80cb
push edi
call esi
mov ebp, dword [0x45a038]
mov eax, ebx
cmp ebp, 0x3c
je 0x421d22
mov eax, dword [esp + 0x50]
push eax
push 0xa7e4
push edi
call esi
cmp ebp, 0x1e
mov eax, ebx
je 0x421d36
mov eax, dword [esp + 0x50]
push eax
push 0xa7e3
push edi
call esi
cmp ebp, 0x14
mov eax, ebx
je 0x421d4a
mov eax, dword [esp + 0x50]
push eax
push 0xa7e2
push edi
call esi
cmp ebp, 0xf
mov eax, ebx
je 0x421d5e
mov eax, dword [esp + 0x50]
push eax
push 0xa7e1
push edi
call esi
cmp ebp, 0xa
mov eax, ebx
je 0x421d72
mov eax, dword [esp + 0x50]
push eax
push 0xa7e0
push edi
call esi
cmp ebp, 5
mov eax, ebx
je 0x421d86
mov eax, dword [esp + 0x50]
push eax
push 0xa7df
push edi
call esi
cmp ebp, 4
mov eax, ebx
je 0x421d9a
mov eax, dword [esp + 0x50]
push eax
push 0xa7de
push edi
call esi
cmp ebp, 3
mov eax, ebx
je 0x421dae
mov eax, dword [esp + 0x50]
push eax
push 0xa7dd
push edi
call esi
cmp ebp, 2
mov eax, ebx
je 0x421dc2
mov eax, dword [esp + 0x50]
push eax
push 0xa7dc
push edi
call esi
cmp ebp, 1
mov eax, ebx
je 0x421dd6
mov eax, dword [esp + 0x50]
push eax
push 0xa7db
push edi
call esi
mov ebp, dword [0x4c9e30]
mov eax, ebx
cmp ebp, 0x258
je 0x421df3
mov eax, dword [esp + 0x50]
push eax
push 0xd7ae
push edi
call esi
cmp ebp, 0x12c
mov eax, ebx
je 0x421e0a
mov eax, dword [esp + 0x50]
push eax
push 0xd7ad
push edi
call esi
cmp ebp, 0x78
mov eax, ebx
je 0x421e1e
mov eax, dword [esp + 0x50]
push eax
push 0xd7ac
push edi
call esi
cmp ebp, 0x5a
mov eax, ebx
je 0x421e32
mov eax, dword [esp + 0x50]
push eax
push 0xd7ab
push edi
call esi
cmp ebp, 0x3c
mov eax, ebx
je 0x421e46
mov eax, dword [esp + 0x50]
push eax
push 0xd7aa
push edi
call esi
cmp ebp, 0x1e
mov eax, ebx
je 0x421e5a
mov eax, dword [esp + 0x50]
push eax
push 0xd7a9
push edi
call esi
cmp ebp, 0x14
mov eax, ebx
je 0x421e6e
mov eax, dword [esp + 0x50]
push eax
push 0xd7a8
push edi
call esi
cmp ebp, 0xf
mov eax, ebx
je 0x421e82
mov eax, dword [esp + 0x50]
push eax
push 0xd7a7
push edi
call esi
cmp ebp, 0xa
mov eax, ebx
je 0x421e96
mov eax, dword [esp + 0x50]
push eax
push 0xd7a6
push edi
call esi
mov eax, dword [0x4ca478]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd89
push edi
call esi
mov eax, dword [0x4c9e28]
push 0xfffffffffffffff8
neg eax
sbb eax, eax
pop ebp
and eax, ebp
add eax, ebx
push eax
push 0xd3ce
push edi
call esi
mov eax, dword [0x4c9e28]
dec eax
neg eax
sbb eax, eax
and eax, ebp
add eax, ebx
push eax
push 0xd3cf
push edi
call esi
mov eax, dword [0x4c9e28]
dec eax
dec eax
neg eax
sbb eax, eax
and eax, ebp
add eax, ebx
push eax
push 0xd3d0
push edi
call esi
mov eax, dword [0x4ca47c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd17d
push edi
call esi
mov eax, dword [0x4ca47c]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd19a
push edi
call esi
xor eax, eax
cmp dword [0x4ca480], eax
jne 0x421f35
cmp dword [0x4ca478], eax
je 0x421f37
mov eax, ebx
push eax
push 0xd199
push edi
call esi
mov eax, dword [0x4ca480]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xcd8a
push edi
call esi
mov eax, dword [0x4ca484]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80e9
push edi
call esi
mov eax, dword [0x4c9e48]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3c1
push edi
call esi
mov eax, dword [0x4ca490]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80eb
push edi
call esi
mov eax, dword [0x4ca494]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x80ed
push edi
call esi
mov eax, dword [0x4ca488]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x8002
push edi
call esi
mov eax, dword [0x4c9e10]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x8001
push edi
call esi
mov eax, dword [0x4c9e50]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3c2
push edi
call esi
mov eax, dword [0x4c9e08]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd3c7
push edi
call esi
mov eax, dword [0x459ce4]
neg eax
sbb eax, eax
and eax, ebp
add eax, ebx
push eax
push 0xd809
push edi
call esi
mov eax, dword [0x459ce0]
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0xd80a
push edi
call esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 4