Function at 0x10003430
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
mov esi, eax
call edi
push 2
and eax, 1
mov dword [ebp - 0x28], eax
call edi
push 0x25
and eax, 1
mov dword [ebp - 0x24], eax
call edi
push 0x27
and eax, 1
mov dword [ebp - 0x2c], eax
call edi
push 0x26
and eax, 1
mov dword [ebp - 0x30], eax
call edi
push 0x28
and eax, 1
mov dword [ebp - 0x34], eax
call edi
and eax, 1
mov dword [ebp - 0x38], eax
call fcn.10002e20
push 0x2d
call edi
test al, 1
je 0x10003498
cmp byte [0x10053380], 0
sete byte [0x10053380]
cmp byte [0x10053380], 0
je 0x1000466e
push 0x10053350
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0x10053350
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [0x100533b0], 0
je 0x1000353d
push 0xa2
call edi
test ax, ax
je 0x1000353d
mov eax, dword [0x10053350]
mov ecx, dword [0x10053340]
lea edx, [eax + 4]
cmp ecx, edx
jg 0x100034ed
cmp ecx, eax
jge 0x10003505
lea edx, [eax - 4]
cmp ecx, edx
jl 0x100034f8
cmp ecx, eax
jle 0x10003505
sub eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
mov ecx, dword [0x10053344]
mov dword [0x10053340], eax
mov eax, dword [0x10053354]
lea edx, [eax + 4]
cmp ecx, edx
jg 0x10003520
cmp ecx, eax
jge 0x10003538
lea edx, [eax - 4]
cmp ecx, edx
jl 0x1000352b
cmp ecx, eax
jle 0x10003538
sub eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
mov dword [0x10053344], eax
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053344]
mov edx, dword [0x10053340]
push 0xdcff0000
push eax
add ecx, 3
push ecx
mov ecx, dword [0x10053370]
push edx
call fcn.10003130
mov eax, dword [0x1005335c]
mov edi, dword [0x10053344]
mov ecx, dword [0x10053340]
mov ebx, dword [0x10053370]
push 0xdc050505
push eax
mov dword [ebp - 0xc], eax
add edi, 3
lea eax, [edi - 1]
push eax
mov dword [ebp - 4], ecx
push ecx
mov ecx, 1
call fcn.10003130
mov ecx, dword [ebp - 4]
push 0xdc050505
push 1
dec ecx
push edi
push ecx
mov ecx, ebx
call fcn.10003130
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0xc]
push 0xdc050505
push 1
push edi
push edx
mov ecx, ebx
call fcn.10003130
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
push 0xdc050505
push ecx
add edi, ebx
push edi
push edx
mov ecx, 1
call fcn.10003130
mov eax, dword [0x10053344]
mov ecx, dword [0x10053340]
mov edx, dword [0x1005335c]
add eax, 5
push str.IronHeart_
push 0xff00ff00
push eax
lea eax, [edx + ecx*2]
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, 0x11
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x1005335c]
mov edi, dword [0x10053370]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
add esp, 0x10
push 0xdc323232
push eax
mov eax, edi
cdq
sub eax, edx
mov edx, dword [0x10053340]
sar eax, 1
add eax, edi
add eax, dword [0x10053344]
push eax
push edx
call fcn.10003130
mov eax, dword [0x10053370]
mov ecx, dword [0x1005335c]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053340]
sar edi, 1
add edi, dword [0x10053370]
push 0xdc050505
add edi, dword [0x10053344]
push ecx
mov dword [ebp - 0xc], ecx
lea ecx, [edi - 1]
push ecx
push eax
mov ecx, 1
mov dword [ebp - 4], eax
call fcn.10003130
mov edx, dword [ebp - 4]
push 0xdc050505
push 1
push edi
dec edx
push edx
mov ecx, ebx
call fcn.10003130
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
push 0xdc050505
push 1
push edi
push eax
mov ecx, ebx
call fcn.10003130
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
push 0xdc050505
push edx
add edi, ebx
push edi
push eax
mov ecx, 1
call fcn.10003130
mov edi, dword [0x10053370]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
mov eax, edi
cdq
sub eax, edx
mov edx, dword [0x10053340]
sar eax, 1
push 0xdcff0000
add eax, edi
add eax, dword [0x10053344]
push 5
push eax
add edx, 0xfffffff6
add ecx, 0x2a
push edx
call fcn.10003130
mov ecx, dword [0x10053370]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053340]
sar edi, 1
add edi, ecx
add edi, dword [0x10053344]
push 0xdc050505
push 5
lea ecx, [edi - 1]
add ebx, 0x2a
add eax, 0xfffffff6
push ecx
mov dword [ebp - 4], eax
push eax
mov ecx, 1
call fcn.10003130
mov edx, dword [ebp - 4]
push 0xdc050505
push 1
push edi
dec edx
push edx
mov ecx, ebx
call fcn.10003130
mov eax, dword [ebp - 4]
push 0xdc050505
push 1
push edi
add eax, 5
push eax
mov ecx, ebx
call fcn.10003130
mov ecx, dword [ebp - 4]
push 0xdc050505
push 5
add edi, ebx
push edi
push ecx
mov ecx, 1
call fcn.10003130
mov edi, dword [0x10053370]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
mov eax, edi
cdq
sub eax, edx
mov edx, dword [0x10053340]
sar eax, 1
push 0xdcff0000
add eax, edi
add eax, dword [0x10053344]
push 5
push eax
mov eax, dword [0x1005335c]
lea edx, [edx + eax + 5]
add ecx, 0x2a
push edx
call fcn.10003130
mov ecx, dword [0x10053370]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053340]
sar edi, 1
add edi, ecx
add edi, dword [0x10053344]
mov ecx, dword [0x1005335c]
push 0xdc050505
push 5
lea eax, [eax + ecx + 5]
lea edx, [edi - 1]
push edx
push eax
mov ecx, 1
add ebx, 0x2a
mov dword [ebp - 4], eax
call fcn.10003130
mov eax, dword [ebp - 4]
push 0xdc050505
push 1
push edi
dec eax
push eax
mov ecx, ebx
call fcn.10003130
mov ecx, dword [ebp - 4]
push 0xdc050505
push 1
add ecx, 5
push edi
push ecx
mov ecx, ebx
call fcn.10003130
mov edx, dword [ebp - 4]
push 0xdc050505
push 5
add edi, ebx
push edi
push edx
mov ecx, 1
call fcn.10003130
xor ebx, ebx
push ebx
push ebx
push 2
mov edi, 0x1005338c
mov edx, str.ShowHide
mov ecx, str.Direct3D
mov dword [0x10053378], ebx
call fcn.10002f60
mov eax, dword [0x1005338c]
push 1
push eax
push 1
mov edi, 0x10053390
mov edx, str.OFFON
mov ecx, str.CrossHair
call fcn.10002f60
mov ecx, dword [0x1005338c]
push 1
push ecx
push 1
mov edi, 0x1005339c
mov edx, str.OFFON
mov ecx, str.No_Flash
call fcn.10002f60
mov edx, dword [0x1005338c]
push 1
push edx
push 1
mov edi, 0x100533a0
mov edx, str.OFFON
mov ecx, str.No_Smoke
call fcn.10002f60
mov eax, dword [0x1005338c]
push 1
push eax
push 1
mov edi, 0x100533a4
mov edx, str.OFFON
mov ecx, str.No_Scope
call fcn.10002f60
mov ecx, dword [0x1005338c]
push 1
push ecx
push 1
mov edi, 0x10053394
mov edx, str.OFFON
mov ecx, str.Asus
call fcn.10002f60
mov edx, dword [0x1005338c]
push 1
push edx
push 1
mov edi, 0x100533a8
mov edx, str.OFFON
mov ecx, str.FullBright
call fcn.10002f60
push ebx
push ebx
push 2
mov edi, 0x100533ac
mov edx, str.ShowHide
mov ecx, str.OPTIONS
call fcn.10002f60
mov eax, dword [0x100533ac]
push 1
push eax
push 1
mov edi, 0x100533b0
mov edx, str.OFFL_Ctrl
mov ecx, str.Move_Menu
call fcn.10002f60
mov ecx, dword [0x100533ac]
push 1
push ecx
push 1
mov edi, 0x100533b8
mov edx, str.OFFSaving
mov ecx, str.Save_Set
call fcn.10002f60
mov edx, dword [0x100533ac]
push 1
push edx
push 1
mov edi, 0x100533bc
mov edx, str.OFFLoading
mov ecx, str.Load_Set
call fcn.10002f60
mov eax, dword [0x100533ac]
push 1
push eax
push 1
mov edi, 0x100533b4
mov edx, str.OFFResetting
mov ecx, str.Reset_Menu
call fcn.10002f60
mov ecx, dword [0x10053378]
xor edi, edi
mov dword [0x100533b8], ebx
mov dword [0x100533bc], ebx
cmp ecx, ebx
jle 0x10003d00
mov ecx, 0x1005169c
mov dword [ebp - 4], ecx
jmp 0x10003a13
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
xor edx, edx
test eax, eax
setle dl
dec edx
and edx, 0x373737
add edx, 0xffc8c8c8
mov dword [ebp - 0xc], edx
xor edx, edx
test eax, eax
setle dl
dec edx
and edx, 0xff383638
add edx, 0xffc8c8c8
mov dword [ebp - 0x10], edx
xor edx, edx
test eax, eax
setle dl
dec edx
and edx, 0xff01ff00
add edx, 0xffff0000
cmp dword [ecx], 2
mov dword [ebp - 0x1c], edx
jne 0x10003a69
mov dword [ebp - 0xc], 0xffff0000
cmp dword [0x1005337c], edi
jne 0x10003aac
mov ecx, dword [0x10053368]
mov eax, dword [0x1005335c]
mov ebx, ecx
push 0xff00bfff
imul ebx, edi
add ebx, dword [0x10053370]
push eax
mov eax, dword [0x10053370]
cdq
sub eax, edx
mov edx, dword [0x10053340]
sar eax, 1
add eax, ebx
add eax, dword [0x10053344]
push eax
push edx
call fcn.10003130
mov eax, dword [0x10053350]
mov ecx, dword [0x10053340]
cmp eax, ecx
jle 0x10003b29
add ecx, dword [0x1005335c]
cmp eax, ecx
jge 0x10003b29
mov ebx, dword [0x10053370]
mov ecx, dword [0x10053368]
mov eax, ebx
cdq
sub eax, edx
mov edx, ecx
imul edx, edi
sar eax, 1
add edx, eax
mov dword [ebp - 8], eax
mov eax, dword [0x10053344]
add edx, ebx
add eax, edx
mov dword [ebp - 0x14], eax
cmp dword [0x10053354], eax
jle 0x10003b35
lea edx, [edi + 1]
imul edx, ecx
add edx, dword [ebp - 8]
add edx, ebx
add edx, dword [0x10053344]
cmp dword [0x10053354], edx
jge 0x10003b35
mov eax, dword [0x1005335c]
mov edx, dword [ebp - 0x14]
push 0xff00bfff
push eax
mov eax, dword [0x10053340]
push edx
push eax
call fcn.10003130
mov ecx, dword [0x10053368]
mov ebx, dword [0x10053370]
mov edx, dword [ebp - 4]
cmp dword [edx], 2
je 0x10003c15
mov eax, dword [ebp - 0x1c]
imul ecx, edi
push eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add ecx, ebx
add eax, ecx
mov ecx, dword [0x10053344]
lea edx, [eax + ecx + 5]
mov eax, dword [0x10053340]
push 5
push edx
add eax, 5
push eax
mov ecx, 5
call fcn.10003130
mov ebx, dword [0x10053368]
mov ecx, dword [0x10053370]
imul ebx, edi
mov eax, ecx
cdq
sub eax, edx
add ebx, ecx
mov ecx, dword [0x10053344]
sar eax, 1
add eax, ebx
lea ebx, [eax + ecx + 5]
mov eax, dword [0x10053340]
push 0xdc050505
push 5
lea edx, [ebx - 1]
add eax, 5
push edx
push eax
mov ecx, 1
mov dword [ebp - 8], eax
call fcn.10003130
mov eax, dword [ebp - 8]
push 0xdc050505
push 1
push ebx
dec eax
push eax
mov ecx, 5
call fcn.10003130
mov ecx, dword [ebp - 8]
push 0xdc050505
push 1
add ecx, 5
push ebx
push ecx
mov ecx, 5
call fcn.10003130
mov edx, dword [ebp - 8]
push 0xdc050505
push 5
add ebx, 5
push ebx
push edx
mov ecx, 1
call fcn.10003130
mov eax, dword [ebp - 4]
cmp dword [eax], 2
jne 0x10003c4f
mov ebx, dword [0x10053370]
mov ecx, dword [0x10053368]
mov eax, dword [ebp - 4]
imul ecx, edi
mov edx, dword [ebp - 0xc]
add eax, 0xffffff9c
push eax
push edx
mov eax, ebx
cdq
sub eax, edx
add ecx, ebx
sar eax, 1
add eax, ecx
mov ecx, dword [0x10053344]
lea edx, [eax + ecx + 2]
mov ecx, dword [0x10053340]
add ecx, dword [0x10053360]
push edx
mov dword [ebp - 0x10], 0xffff0000
push ecx
jmp 0x10003c8c
mov ebx, dword [0x10053368]
mov ecx, dword [0x10053370]
imul ebx, edi
mov edx, dword [ebp - 0xc]
add eax, 0xffffff9c
push eax
push edx
mov eax, ecx
cdq
sub eax, edx
add ebx, ecx
mov ecx, dword [0x10053344]
sar eax, 1
add eax, ebx
lea edx, [eax + ecx + 2]
mov eax, dword [0x10053340]
mov ecx, dword [0x10053360]
push edx
lea edx, [eax + ecx + 0xc]
push edx
mov ecx, 0x10
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [ebp - 4]
mov ebx, dword [0x10053368]
mov ecx, dword [ebp - 0x10]
imul ebx, edi
add eax, 0xffffffce
add esp, 0x10
push eax
push ecx
mov ecx, dword [0x10053370]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [0x10053344]
add ebx, ecx
mov ecx, dword [0x10053340]
add ecx, dword [0x10053364]
sar eax, 1
add eax, ebx
lea eax, [eax + edx + 2]
push eax
push ecx
mov ecx, 0x12
mov ebx, 0x10051638
call fcn.10003240
mov ecx, dword [0x10053378]
add dword [ebp - 4], 0x74
inc edi
add esp, 0x10
cmp edi, ecx
jl 0x10003a10
mov eax, dword [0x1005335c]
mov edi, dword [0x10053368]
cdq
imul edi, ecx
mov ecx, dword [0x10053374]
sub eax, edx
sar eax, 1
push 0xdc323232
push eax
mov eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [0x10053370]
sar ebx, 1
add ebx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add ebx, edi
add eax, ebx
lea eax, [eax + edx - 3]
mov edx, dword [0x10053340]
push eax
push edx
call fcn.10003130
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0xc], ecx
mov ecx, eax
mov eax, dword [0x10053370]
sar ecx, 1
add ecx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
add ecx, ebx
sar eax, 1
add eax, ecx
push 0xdc050505
lea ebx, [eax + edx - 3]
mov eax, dword [0x10053340]
sar edi, 1
push edi
lea ecx, [ebx - 1]
push ecx
push eax
mov ecx, 1
mov dword [ebp - 8], eax
call fcn.10003130
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
dec edx
push edx
call fcn.10003130
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
add eax, edi
push eax
call fcn.10003130
add ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0xdc050505
push edi
push ebx
push edx
mov ecx, 1
call fcn.10003130
mov eax, dword [0x10053374]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053370]
sar edi, 1
add edi, eax
cdq
sub eax, edx
sar eax, 1
add edi, ecx
add eax, edi
add eax, dword [0x10053344]
push str.Public
push 0xff00bfff
push eax
mov eax, dword [0x1005335c]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [0x10053340]
mov ecx, 0x11
push eax
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053374]
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [0x10053370]
sar ebx, 1
add ebx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
add esp, 0x10
sar eax, 1
add ebx, ecx
mov ecx, dword [0x10053374]
push 0xdc323232
sar edi, 1
push edi
add edi, dword [0x10053340]
add eax, ebx
lea eax, [eax + edx - 3]
push eax
push edi
call fcn.10003130
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0xc], ecx
mov ecx, eax
mov eax, dword [0x10053370]
sar ecx, 1
add ecx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add ecx, ebx
sar edi, 1
add eax, ecx
lea ebx, [eax + edx - 3]
mov eax, dword [0x10053340]
push 0xdc050505
push edi
lea ecx, [ebx - 1]
add eax, edi
push ecx
push eax
mov ecx, 1
mov dword [ebp - 8], eax
call fcn.10003130
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
dec edx
push edx
call fcn.10003130
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
add eax, edi
push eax
call fcn.10003130
add ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0xdc050505
push edi
push ebx
push edx
mov ecx, 1
call fcn.10003130
call dword [sym.imp.MSVCR100.dll_clock]
inc dword [0x100535d8]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
fmul qword [0x10042e78]
fstp dword [0x10053748]
fld dword [0x10053748]
fld st(0)
fsub dword [0x100535dc]
fcomp qword [0x10042e70]
fnstsw ax
test ah, 0x41
jne 0x10003fb8
mov eax, dword [0x100535d8]
fstp dword [0x100535dc]
push eax
push str._d_FPS
push 0x100535e0
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
mov dword [0x100535d8], 0
jmp 0x10003fba
fstp st(0)
mov eax, dword [0x10053374]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053370]
sar edi, 1
add edi, eax
cdq
sub eax, edx
sar eax, 1
add edi, ecx
add eax, edi
add eax, dword [0x10053344]
push 0x100535e0
push 0xff00bfff
push eax
mov eax, dword [0x1005335c]
cdq
and edx, 3
add eax, edx
mov edx, dword [0x10053340]
sar eax, 2
lea ecx, [edx + eax*2]
add ecx, eax
push ecx
mov ecx, 0x11
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov edi, dword [0x10053368]
imul edi, dword [0x10053378]
cdq
sub eax, edx
sar eax, 1
add esp, 0x10
push 0xdc323232
push eax
mov eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [0x10053370]
sar ebx, 1
add ebx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add ebx, edi
add eax, ebx
lea eax, [eax + edx + 0x12]
mov edx, dword [0x10053340]
push eax
push edx
call fcn.10003130
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov edi, dword [0x10053368]
imul edi, dword [0x10053378]
cdq
sub eax, edx
mov ebx, eax
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0xc], ecx
mov ecx, eax
mov eax, dword [0x10053370]
sar ecx, 1
add ecx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
add ecx, edi
sar eax, 1
sar ebx, 1
add eax, ecx
lea edi, [eax + edx + 0x12]
mov eax, dword [0x10053340]
push 0xdc050505
push ebx
lea ecx, [edi - 1]
push ecx
push eax
mov ecx, 1
mov dword [ebp - 8], eax
call fcn.10003130
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push edi
dec edx
push edx
call fcn.10003130
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push edi
add eax, ebx
push eax
call fcn.10003130
add edi, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0xdc050505
push ebx
push edi
push edx
mov ecx, 1
call fcn.10003130
call fcn.10002e90
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
push eax
mov eax, dword [0x10053374]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053370]
sar edi, 1
add edi, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add edi, ecx
add eax, edi
lea eax, [eax + edx + 0x15]
push 0xfffafafa
push eax
mov eax, dword [0x1005335c]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [0x10053340]
mov ecx, 0x11
push eax
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053374]
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [0x10053370]
add esp, 0x10
sar edi, 1
sar ebx, 1
push 0xdc323232
add ebx, eax
push edi
cdq
add edi, dword [0x10053340]
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add ebx, ecx
mov ecx, dword [0x10053374]
add eax, ebx
lea eax, [eax + edx + 0x12]
push eax
push edi
call fcn.10003130
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov ebx, dword [0x10053368]
imul ebx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0xc], ecx
mov ecx, eax
mov eax, dword [0x10053370]
sar ecx, 1
add ecx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
add ecx, ebx
sar eax, 1
add eax, ecx
lea ebx, [eax + edx + 0x12]
mov eax, dword [0x10053340]
push 0xdc050505
sar edi, 1
push edi
lea ecx, [ebx - 1]
add eax, edi
push ecx
push eax
mov ecx, 1
mov dword [ebp - 8], eax
call fcn.10003130
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
dec edx
push edx
call fcn.10003130
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push 1
push ebx
add eax, edi
push eax
call fcn.10003130
add ebx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0xdc050505
push edi
push ebx
push edx
mov ecx, 1
call fcn.10003130
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.MSVCR100.dll__time64]
lea ecx, [ebp - 0x20]
add esp, 4
push ecx
call dword [sym.imp.MSVCR100.dll__localtime64]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
add esp, 4
push edx
push eax
cmp ecx, 0xc
jle 0x100042b1
add ecx, 0xfffffff4
push ecx
push str._d:_02d:_02d_PM
jmp 0x100042b7
push ecx
push str._d:_02d:_02d_AM
push 0x100535e8
call dword [sym.imp.MSVCR100.dll_sprintf]
mov eax, dword [0x10053374]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053370]
sar edi, 1
add edi, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add esp, 0x14
add edi, ecx
mov ecx, dword [0x10053340]
add eax, edi
lea eax, [eax + edx + 0x15]
push 0x100535e8
push 0xfffafafa
push eax
mov eax, dword [0x1005335c]
cdq
and edx, 3
add eax, edx
sar eax, 2
lea edx, [ecx + eax*2]
add edx, eax
push edx
mov ecx, 0x11
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x1005335c]
mov ecx, dword [0x10053374]
mov edi, dword [0x10053368]
imul edi, dword [0x10053378]
add esp, 0x10
push 0xdcff0000
push eax
mov eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [0x10053370]
sar ebx, 1
add ebx, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add ebx, edi
add eax, ebx
lea eax, [eax + edx + 0x27]
mov edx, dword [0x10053340]
push eax
push edx
call fcn.10003130
mov eax, dword [0x10053374]
mov ecx, dword [0x1005335c]
mov ebx, eax
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x10053370]
mov dword [ebp - 0x10], ecx
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
sar edi, 1
add edi, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add edi, ecx
add eax, edi
lea edi, [eax + edx + 0x27]
mov eax, dword [0x10053340]
mov dword [ebp - 0xc], eax
push 0xdc050505
mov ecx, dword [0x1005335c]
push ecx
lea edx, [edi - 1]
push edx
push eax
mov ecx, 1
call fcn.10003130
mov eax, dword [ebp - 0xc]
push 0xdc050505
push 1
push edi
dec eax
push eax
mov ecx, ebx
call fcn.10003130
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
push 0xdc050505
push 1
push edi
push ecx
mov ecx, ebx
call fcn.10003130
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push 0xdc050505
push eax
add edi, ebx
push edi
push ecx
mov ecx, 1
call fcn.10003130
mov eax, dword [0x10053374]
mov ecx, dword [0x10053368]
imul ecx, dword [0x10053378]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x10053370]
sar esi, 1
add esi, eax
cdq
sub eax, edx
mov edx, dword [0x10053344]
sar eax, 1
add esi, ecx
mov ecx, dword [0x10053340]
add eax, esi
lea eax, [eax + edx + 0x29]
mov edx, dword [0x1005335c]
push str._CambodiaHacking.no.cf_
push 0xff00ff00
push eax
lea eax, [edx + ecx*2]
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, 0x11
mov ebx, 0x10051638
call fcn.10003240
mov eax, dword [0x10053350]
mov ecx, dword [0x10053340]
mov edi, dword [sym.imp.WINMM.dll_sndPlaySoundA]
add esp, 0x10
cmp eax, ecx
jle 0x1000455a
add ecx, dword [0x1005335c]
cmp eax, ecx
jge 0x1000455a
mov edi, dword [0x10053368]
mov esi, dword [0x10053370]
mov ebx, edi
imul ebx, dword [0x10053378]
mov eax, esi
cdq
sub eax, edx
mov edx, dword [0x10053344]
mov ecx, eax
mov eax, dword [0x10053354]
sar ecx, 1
add ebx, ecx
add ebx, esi
add ebx, edx
cmp eax, ebx
jge 0x10004554
cmp eax, edx
jle 0x10004554
mov ebx, eax
sub ebx, esi
cmp ebx, edx
jle 0x10004554
sub eax, ecx
sub eax, esi
sub eax, edx
cdq
idiv edi
mov esi, eax
cmp esi, 0x3e7
je 0x10004554
cmp dword [ebp - 0x24], 0
je 0x10004527
imul eax, eax, 0x74
mov eax, dword [eax + 0x100516a8]
cmp dword [eax], 0
jle 0x10004527
mov edi, dword [sym.imp.WINMM.dll_sndPlaySoundA]
dec dword [eax]
push 5
push str.RIFF0
call edi
jmp 0x1000452d
mov edi, dword [sym.imp.WINMM.dll_sndPlaySoundA]
cmp dword [ebp - 0x28], 0
je 0x1000455a
imul esi, esi, 0x74
mov ecx, dword [esi + 0x100516a0]
mov eax, dword [esi + 0x100516a8]
dec ecx
cmp dword [eax], ecx
jge 0x1000455a
inc dword [eax]
push 5
push str.RIFF0
call edi
jmp 0x1000455a
mov edi, dword [sym.imp.WINMM.dll_sndPlaySoundA]
cmp dword [ebp - 0x2c], 0
mov edx, dword [0x1005337c]
je 0x1000458f
mov eax, edx
imul eax, eax, 0x74
mov ecx, dword [eax + 0x100516a8]
cmp dword [ecx], 0
lea eax, [eax + 0x100516a8]
jle 0x1000458f
push 5
mov eax, ecx
dec dword [eax]
push str.RIFF0
call edi
mov edx, dword [0x1005337c]
cmp dword [ebp - 0x30], 0
je 0x100045c4
mov eax, edx
imul eax, eax, 0x74
mov ecx, dword [eax + 0x100516a0]
mov esi, dword [eax + 0x100516a8]
lea eax, [eax + 0x10051638]
dec ecx
cmp dword [esi], ecx
jge 0x100045c4
push 5
mov eax, esi
inc dword [eax]
push str.RIFF0
call edi
mov edx, dword [0x1005337c]
cmp dword [ebp - 0x34], 0
je 0x100045fd
mov eax, dword [0x10053378]
nop
test edx, edx
jne 0x100045d9
lea edx, [eax - 1]
jmp 0x100045da
dec edx
mov ecx, edx
imul ecx, ecx, 0x74
mov dword [0x1005337c], edx
cmp dword [ecx + 0x1005169c], 0
je 0x100045d0
push 5
push str.RIFF
call edi
mov edx, dword [0x1005337c]
cmp dword [ebp - 0x38], 0
jne 0x10004611
mov eax, edx
imul eax, eax, 0x74
cmp dword [eax + 0x1005169c], 0
jne 0x10004640
mov ecx, dword [0x10053378]
lea eax, [edx + 1]
cdq
idiv ecx
mov eax, edx
imul eax, eax, 0x74
mov dword [0x1005337c], edx
cmp dword [eax + 0x1005169c], 0
je 0x10004617
push 5
push str.RIFF
call edi
mov edx, dword [0x1005337c]
mov eax, dword [0x10053378]
cmp edx, eax
jle 0x1000464f
dec eax
mov dword [0x1005337c], eax
fild dword [0x10053350]
fstp dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
fild dword [0x10053354]
fstp dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
push ecx
push edx
call fcn.10004850
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret