Function at 0x468ad0
Capabilities:
Enumerate pe sections
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x69a00a
push eax
mov dword fs:[0], esp
sub esp, 0x160
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x4c]
xor ebx, ebx
cmp eax, 0xffffffff
push edi
je 0x468b4d
mov ecx, dword [0x2225648]
lea eax, [eax + eax*2]
shl eax, 5
add eax, ecx
mov cl, byte [eax + 0x64]
test cl, cl
jne 0x468b1b
mov cl, byte [eax + 0x65]
test cl, cl
jne 0x468b1b
push 1
jmp 0x468b1c
push ebx
lea ecx, [esi + 0x1878]
call fcn.00516a50
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [0x2225648]
shl edx, 5
mov cl, byte [edx + eax + 0x65]
test cl, cl
lea ecx, [esi + 0x2220]
je 0x468b46
push ebx
jmp 0x468b48
push 1
call fcn.00516a50
xor edi, edi
lea ebp, [esi + 0x54]
mov ecx, dword [0x2225648]
cmp dword [edi + ecx + 0x10], ebx
mov ecx, ebp
je 0x468b64
push 1
jmp 0x468b65
push ebx
call fcn.00516a50
add edi, 0x60
add ebp, 0x4d4
cmp edi, 0x1e0
jl 0x468b52
mov ecx, esi
call fcn.00466f00
mov ecx, 0x21ebee8
call fcn.00520b90
lea ecx, [esi + 0x309c]
call fcn.00517c00
test eax, eax
je 0x468baa
mov dword [esi + 0x4d98], 1
jmp 0x468c4d
lea ecx, [esi + 0x3570]
call fcn.00517c00
test eax, eax
je 0x468bc8
mov dword [esi + 0x4d98], 2
jmp 0x468c4d
lea ecx, [esi + 0x3a44]
call fcn.00517c00
test eax, eax
je 0x468bdf
mov dword [esi + 0x4d98], ebx
jmp 0x468c4d
lea ecx, [esi + 0x3f18]
call fcn.00517c00
test eax, eax
je 0x468c16
mov eax, dword [esi + 0x44]
cmp eax, ebx
je 0x468c0e
lea edx, [esi + 0x4d9c]
mov ecx, dword [edx]
add eax, 0x1c
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov dword [esi + 0x4d98], ebx
jmp 0x468c4d
lea ecx, [esi + 0x43ec]
call fcn.00517c00
test eax, eax
je 0x468c31
mov dword [esi + 0x4d94], 1
jmp 0x468c46
lea ecx, [esi + 0x48c0]
call fcn.00517c00
test eax, eax
je 0x468c4d
mov dword [esi + 0x4d94], ebx
mov ecx, esi
call fcn.00466f00
mov ecx, dword [esi + 0x4d98]
cmp ecx, 1
mov dword [esp + 0x14], 0
je 0x468cc4
mov eax, dword [0x21ebef8]
mov edx, dword [eax + 0x404]
shl edx, 8
add eax, edx
mov dl, 0x80
test byte [eax + 0xcf], dl
jne 0x468cc4
cmp ecx, 2
je 0x468cb9
test byte [eax + 0xd1], dl
jne 0x468cb9
test byte [eax + 0xcc], dl
je 0x468ca2
mov ecx, esi
mov dword [esi + 0x4d94], 1
call fcn.00466f00
jmp 0x468cd0
test byte [eax + 0xd4], dl
je 0x468cd0
mov ecx, esi
mov dword [esi + 0x4d94], ebx
call fcn.00466f00
jmp 0x468cd0
mov eax, dword [0x703c14]
mov dword [esp + 0x14], eax
jmp 0x468cd0
fld dword [0x703c14]
fchs
fstp dword [esp + 0x14]
mov eax, dword [esi + 0x44]
cmp eax, ebx
je 0x468d51
fld dword [esp + 0x14]
add eax, 0x1c
fcos
mov edx, eax
mov ecx, dword [edx]
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x20], edx
fst dword [esp + 0x10]
fld dword [esp + 0x14]
fsin
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fld st(1)
fmul dword [esp + 0x20]
fsubp st(1)
fxch st(2)
fmul dword [esp + 0x20]
fxch st(1)
fmul dword [esp + 0x18]
faddp st(1)
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [esi + 0x44]
mov dword [edx + 0x1ac], eax
mov ecx, dword [esi + 0x44]
call fcn.004190a0
fld dword [0x21f68d8]
call fcn.005b8b18
fld dword [0x21f68d0]
push eax
call fcn.005b8b18
push eax
mov ecx, 0x844b74
call fcn.0044d900
mov ecx, dword [0x847160]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [0x847168], eax
mov edi, dword [eax + 8]
je 0x468e66
test edi, edi
mov eax, dword [eax]
mov dword [0x847168], eax
je 0x468e66
mov ebp, 1
xor ebx, ebx
jmp 0x468db0
mov eax, dword [edi + 0x1dad0]
cmp eax, ebx
mov dword [esp + 0x14], 0x3f800000
je 0x468dc9
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x18]
call fcn.0058bfb0
fld dword [esp + 0x14]
mov edx, dword [edi + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
fadd dword [edi + 0x30]
fstp dword [esp + 0x1c]
mov eax, dword [edi + 0x34]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov ecx, 0x21f69b0
jmp 0x468e00
fld dword [esp + 0x20]
fmul dword [ecx + 4]
fld dword [esp + 0x18]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [ecx]
faddp st(1)
fadd dword [ecx + 8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x468e40
add ecx, 0x10
cmp ecx, 0x21f6a10
jl 0x468e00
mov ecx, edi
mov dword [edi + 0x180], ebp
call fcn.0054da60
jmp 0x468e46
mov dword [edi + 0x180], ebx
mov eax, dword [0x847168]
cmp eax, dword [0x847160]
mov edi, dword [eax + 8]
je 0x468e66
cmp edi, ebx
mov edx, dword [eax]
mov dword [0x847168], edx
jne 0x468db0
mov ecx, dword [0x844ab4]
mov eax, dword [ecx]
xor ebx, ebx
cmp eax, ecx
mov dword [0x844abc], eax
je 0x468f6a
mov ebp, 1
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x468f55
mov eax, dword [edi + 0x1dad0]
cmp eax, ebx
mov dword [esp + 0x14], 0x3f800000
je 0x468ea6
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
call fcn.0058bfb0
fld dword [esp + 0x14]
mov ecx, dword [edi + 0x2c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
fadd dword [edi + 0x30]
fstp dword [esp + 0x1c]
mov edx, dword [edi + 0x34]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
cmp dword [edi + 0x104], ebx
je 0x468eeb
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x21f69ac
call fcn.00438250
test al, al
je 0x468f50
mov ecx, edi
mov dword [edi + 0x180], ebp
call fcn.0054da60
test eax, eax
jne 0x468f50
mov eax, dword [0x844abc]
mov ecx, dword [eax + 8]
cmp ecx, ebx
je 0x468f1a
mov edx, dword [ecx]
push ebp
call dword [edx]
mov eax, dword [0x844abc]
mov dword [eax + 8], ebx
mov eax, dword [0x844abc]
cmp eax, dword [0x844ab4]
mov edi, dword [eax]
je 0x468f47
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push eax
mov dword [ecx + 4], edx
call fcn.005b806d
mov eax, dword [0x844ab8]
add esp, 4
dec eax
mov dword [0x844ab8], eax
mov eax, edi
mov dword [0x844abc], eax
jmp 0x468f55
mov eax, dword [0x844abc]
mov eax, dword [eax]
cmp eax, dword [0x844ab4]
mov dword [0x844abc], eax
jne 0x468e82
xor ebx, ebx
cmp dword [esi + 0x4dac], ebx
je 0x468f7d
mov ecx, dword [esi + 0x4da8]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 0x48]
cmp ecx, ebx
je 0x46919b
call fcn.004bc660
mov edi, dword [esi + 0x48]
mov ecx, dword [edi + 0x10]
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x10], ecx
je 0x469041
cmp edi, ebx
je 0x468fb8
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x48], ebx
cmp dword [esi + 0x4de0], ebx
jne 0x469041
mov eax, dword [0x2225648]
xor edx, edx
add eax, 0x65
mov ecx, 5
cmp dword [eax - 0x55], ebx
je 0x468fe2
cmp byte [eax], 0
jne 0x468fe2
mov edx, 1
add eax, 0x60
dec ecx
jne 0x468fd3
cmp edx, ebx
jne 0x469041
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebx
mov dword [esp + 0x178], ebx
je 0x46902e
push 0x2772
call fcn.0041b230
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
jmp 0x469030
xor eax, eax
mov dword [esp + 0x178], 0xffffffff
mov dword [esi + 0x4de0], eax
cmp dword [esp + 0x10], 1
jne 0x469368
cmp ebp, 1
jne 0x469368
cmp dword [esi + 0x4c], 0xffffffff
je 0x469368
mov edx, dword [0x2225648]
mov dword [edx + 0x1ec], ebx
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x2225648]
lea eax, [eax + eax*2]
shl eax, 5
mov edx, dword [eax + ecx + 0x10]
push edx
call fcn.00587590
mov ebp, dword [sym.imp.winmm.dll_timeGetTime]
add esp, 4
call ebp
mov edi, eax
mov eax, dword [0x2225648]
cmp dword [eax + 4], ebx
jne 0x469368
nop
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x4690db
push ebx
push ebx
push ebx
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.user32.dll_GetMessageA]
test eax, eax
je 0x4690db
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.user32.dll_TranslateMessage]
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.user32.dll_DispatchMessageA]
mov edx, dword [0x2225648]
cmp dword [edx + 0x1ec], ebx
je 0x4690fe
mov eax, dword [esi + 0x4c]
mov ecx, dword [edx + 0x1f4]
lea eax, [eax + eax*2]
shl eax, 5
cmp ecx, dword [eax + edx + 0x10]
je 0x46911d
call ebp
sub eax, edi
cmp eax, 0x7530
ja 0x469f7e
mov edx, dword [0x2225648]
cmp dword [edx + 4], ebx
je 0x4690a0
jmp 0x469368
mov ecx, dword [esi + 0x44]
cmp ecx, ebx
je 0x469133
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x44], ebx
mov edx, dword [0x2225648]
mov eax, dword [esi + 0x4c]
lea ecx, [eax + eax*2]
shl ecx, 5
mov byte [ecx + edx + 0x65], 1
push 0xa40
mov dword [esi + 0x4c], 0xffffffff
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 1
je 0x46a0e5
push 0x276c
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push ebx
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x48], eax
jmp 0x469368
mov ecx, dword [esi + 0x4ddc]
cmp ecx, ebx
je 0x469386
call fcn.004bc660
mov ebp, eax
cmp ebp, ebx
je 0x4691d4
mov edi, dword [esi + 0x4ddc]
cmp edi, ebx
je 0x4691d4
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4ddc], ebx
cmp ebp, 1
jne 0x469368
cmp dword [esi + 0x4c], 0xffffffff
je 0x469368
mov edx, dword [0x2225648]
mov dword [edx + 0x1ec], ebx
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x2225648]
lea eax, [eax + eax*2]
shl eax, 5
mov edx, dword [eax + ecx + 0x10]
push edx
call fcn.0058b1f0
mov ebp, dword [sym.imp.winmm.dll_timeGetTime]
add esp, 4
call ebp
mov edi, eax
mov eax, dword [0x2225648]
cmp dword [eax + 4], ebx
jne 0x469368
mov ebx, dword [sym.imp.user32.dll_PeekMessageA]
lea ecx, [ecx]
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
call ebx
test eax, eax
je 0x46926e
push 0
push 0
push 0
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.user32.dll_GetMessageA]
test eax, eax
je 0x46926e
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.user32.dll_TranslateMessage]
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.user32.dll_DispatchMessageA]
mov ecx, dword [0x2225648]
mov eax, dword [ecx + 0x1ec]
test eax, eax
je 0x469293
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x1f4]
shl edx, 5
cmp eax, dword [edx + ecx + 0x10]
je 0x4692b4
call ebp
sub eax, edi
cmp eax, 0x7530
ja 0x46934a
mov ecx, dword [0x2225648]
mov eax, dword [ecx + 4]
test eax, eax
je 0x469230
jmp 0x469368
mov edx, dword [esi + 0x44]
mov byte [edx + 0x279], 0
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x2225648]
lea eax, [eax + eax*2]
shl eax, 5
mov byte [eax + ecx + 0x65], 0
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [0x2225648]
shl edx, 5
mov cl, byte [edx + eax + 0x64]
test cl, cl
lea ecx, [esi + 0x1878]
je 0x4692f2
push 0
jmp 0x4692f4
push 1
call fcn.00516a50
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
mov dword [esp + 0x178], 2
je 0x46a0e5
push 0x276e
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 0
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x48], eax
jmp 0x469368
push str.Data_Receving_Error
push 0xff
push 0xff
push 0xff
push 0
call fcn.004bd270
add esp, 0x14
mov eax, 2
mov ecx, dword [esp + 0x170]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x16c
ret
mov ecx, dword [esi + 0x4de0]
cmp ecx, ebx
je 0x4693e7
call fcn.004bc660
mov ebp, eax
cmp ebp, ebx
je 0x4693bb
mov edi, dword [esi + 0x4de0]
cmp edi, ebx
je 0x4693bb
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4de0], ebx
cmp ebp, 1
jne 0x469368
xor edx, edx
mov esi, dword [0x2225648]
lea edi, [edx + esi + 0xc]
xor eax, eax
add edx, 0x60
cmp edx, 0x1e0
mov ecx, 0x18
rep stosd dword es:[edi], eax
jl 0x4693c2
mov eax, 4
jmp 0x46936d
mov ecx, dword [esi + 0x4db8]
cmp ecx, ebx
je 0x469892
call fcn.004bc660
mov edi, eax
cmp dword [esi + 0x4dd8], ebx
jne 0x469587
push 0xd
call dword [sym.imp.user32.dll_GetAsyncKeyState]
test ax, ax
mov ebp, 3
je 0x46945d
mov al, byte [0x84efa7]
test al, al
jne 0x469464
cmp dword [esi + 0x4dd4], ebx
mov eax, dword [0x6f3558]
mov byte [0x84efa7], 1
je 0x469443
cmp eax, ebp
je 0x469464
mov dword [esi + 0x4dd4], ebx
jmp 0x469464
cmp eax, ebp
je 0x469464
mov ecx, 0x21ec34c
call fcn.00523c40
mov dword [esi + 0x4dd4], 1
jmp 0x469464
mov byte [0x84efa7], 0
cmp edi, 1
jne 0x469555
mov ecx, esi
call fcn.004688c0
test eax, eax
jne 0x4694ac
xor ecx, ecx
lea edx, [esi + 0x4dbc]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov byte [edx + 0x14], cl
mov ecx, 0x21ec34c
call fcn.00523c40
mov dword [esi + 0x4dd4], edi
mov dword [esi + 0x4dd8], ebx
jmp 0x469368
mov edi, dword [esi + 0x4db8]
cmp edi, ebx
je 0x4694cc
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4db8], ebx
lea eax, [esi + 0x4dbc]
push eax
push 0x704b80
call fcn.0041b140
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], ebp
je 0x469523
push 0x276b
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
jmp 0x469525
xor eax, eax
mov dword [esi + 0x4db8], eax
mov dword [eax + 0x9cc], ebx
mov ecx, 0x21ec34c
mov dword [esp + 0x178], 0xffffffff
mov dword [esi + 0x4dd8], 1
call fcn.00523c40
jmp 0x469368
cmp edi, 2
jne 0x469368
mov edi, dword [esi + 0x4db8]
cmp edi, ebx
je 0x469368
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4db8], ebx
jmp 0x469368
cmp edi, 1
jne 0x469820
cmp dword [esi + 0x4c], 0xffffffff
je 0x469659
mov ecx, dword [0x2225648]
mov dword [ecx + 0x1ec], ebx
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [0x2225648]
shl edx, 5
mov ecx, dword [edx + eax + 0x10]
lea ebp, [esi + 0x4dbc]
push ebp
push ecx
call fcn.0058b190
add esp, 8
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [0x2225648]
mov edi, eax
cmp dword [edx + 4], ebx
jne 0x469659
mov ebx, dword [sym.imp.user32.dll_PeekMessageA]
push 0
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
je 0x469623
push 0
push 0
push 0
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.user32.dll_GetMessageA]
test eax, eax
je 0x469623
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.user32.dll_TranslateMessage]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.user32.dll_DispatchMessageA]
mov edx, dword [0x2225648]
mov eax, dword [edx + 0x1ec]
test eax, eax
jne 0x4696ca
call dword [sym.imp.winmm.dll_timeGetTime]
sub eax, edi
cmp eax, 0x7530
ja 0x4697fd
mov ecx, dword [0x2225648]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4695e5
xor ebx, ebx
mov edi, dword [esi + 0x4db8]
cmp edi, ebx
je 0x469679
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4db8], ebx
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 6
je 0x46982d
push 0x276a
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
jmp 0x46982f
mov eax, dword [edx + 0x1ec]
cmp eax, 1
jne 0x469756
mov eax, dword [esi + 0x4c]
lea eax, [eax + eax*2]
shl eax, 5
mov ecx, ebp
lea edx, [eax + edx + 0x50]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4696e8
mov eax, dword [esi + 0x4c]
mov edx, dword [0x2225648]
lea ecx, [eax + eax*2]
shl ecx, 5
mov byte [ecx + edx + 0x64], 0
mov eax, dword [esi + 0x4c]
mov edx, dword [0x2225648]
lea ecx, [eax + eax*2]
imul eax, eax, 0x4d4
shl ecx, 5
lea ecx, [ecx + edx + 0x50]
push ecx
lea ecx, [eax + esi + 0x54]
call fcn.00516b20
mov edi, dword [esi + 0x4db8]
test edi, edi
je 0x469368
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x4db8], 0
jmp 0x469368
cmp eax, 2
jne 0x4697b6
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
mov dword [esp + 0x178], 4
je 0x4697e8
push 0x13b6
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 0
mov ecx, edi
call fcn.004bc830
mov dword [esp + 0x178], 0xffffffff
mov dword [esi + 0x48], eax
jmp 0x469657
cmp eax, 3
jne 0x469657
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
mov dword [esp + 0x178], 5
je 0x4697e8
push 0x13b1
jmp 0x469782
xor eax, eax
mov dword [esp + 0x178], 0xffffffff
mov dword [esi + 0x48], eax
jmp 0x469657
push str.Data_Receving_Error
push 0xff
push 0xff
push 0xff
push 0
call fcn.004bd270
add esp, 0x14
jmp 0x469657
cmp edi, ebx
je 0x469368
jmp 0x469659
xor eax, eax
mov dword [esi + 0x4db8], eax
mov dword [eax + 0x9cc], ebx
xor edx, edx
lea eax, [esi + 0x4dbc]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
push 1
mov ecx, 0x21ec34c
mov dword [esp + 0x17c], 0xffffffff
mov byte [eax + 0x14], dl
call fcn.00521a50
mov ecx, 0x21ec34c
call fcn.00523c40
push 0xd
mov dword [esi + 0x4dd4], 1
mov dword [esi + 0x4dd8], ebx
call dword [sym.imp.user32.dll_GetAsyncKeyState]
jmp 0x469368
lea ecx, [esi + 0x54]
call fcn.00517c00
test eax, eax
je 0x4698bd
mov ecx, dword [0x2225648]
cmp dword [ecx + 0x10], ebx
je 0x469368
push ebx
mov ecx, esi
mov dword [esi + 0x4c], ebx
call fcn.004683b0
jmp 0x469368
lea ecx, [esi + 0x528]
call fcn.00517c00
test eax, eax
je 0x4698f0
mov edx, dword [0x2225648]
cmp dword [edx + 0x70], ebx
je 0x469368
push 1
mov ecx, esi
mov dword [esi + 0x4c], 1
call fcn.004683b0
jmp 0x469368
lea ecx, [esi + 0x9fc]
call fcn.00517c00
test eax, eax
je 0x469925
mov eax, dword [0x2225648]
cmp dword [eax + 0xd0], ebx
je 0x469368
push 2
mov ecx, esi
mov dword [esi + 0x4c], 2
call fcn.004683b0
jmp 0x469368
lea ecx, [esi + 0xed0]
call fcn.00517c00
test eax, eax
je 0x46995b
mov ecx, dword [0x2225648]
cmp dword [ecx + 0x130], ebx
je 0x469368
mov ebp, 3
push ebp
mov ecx, esi
mov dword [esi + 0x4c], ebp
call fcn.004683b0
jmp 0x469368
lea ecx, [esi + 0x13a4]
call fcn.00517c00
test eax, eax
je 0x469991
mov edx, dword [0x2225648]
cmp dword [edx + 0x190], ebx
je 0x469368
push 4
mov ecx, esi
mov dword [esi + 0x4c], 4
call fcn.004683b0
jmp 0x469368
lea ecx, [esi + 0x1878]
call fcn.00517c00
test eax, eax
je 0x469fc8
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x469f98
lea ecx, [eax + eax*2]
mov eax, dword [0x2225648]
shl ecx, 5
cmp dword [ecx + eax + 0x10], ebx
je 0x469f98
mov dword [eax + 0x1ec], ebx
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [0x2225648]
shl edx, 5
mov ecx, dword [edx + eax + 0x10]
push ecx
call fcn.005875c0
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x2225648]
lea edx, [eax + eax*2]
shl edx, 5
mov eax, dword [edx + ecx + 0x10]
mov dword [0x8507f4], eax
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
shl edx, 5
mov eax, dword [edx + ecx + 0x14]
add esp, 4
push 0x21e7078
mov ecx, 0x84f768
mov dword [0x21e7078], eax
call fcn.004c1500
mov eax, dword [esi + 0x4c]
lea ecx, [eax + eax*2]
mov eax, dword [0x2225648]
shl ecx, 5
movzx edx, word [ecx + eax + 0x18]
mov dword [0x84f778], edx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1a]
mov byte [0x851b1d], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1b]
mov byte [0x851b1e], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1c]
mov byte [0x851b1f], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1d]
mov byte [0x851b20], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1e]
mov byte [0x851b21], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x1f]
mov byte [0x851b22], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dl, byte [ecx + eax + 0x20]
mov byte [0x852b24], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x22]
mov word [0x8507e0], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x26]
mov word [0x84f794], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x28]
mov word [0x84f798], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x2a]
mov word [0x84f792], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x2c]
mov word [0x84f796], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x24]
mov word [0x84f790], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x2e]
mov word [0x84f79a], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x30]
mov word [0x852b26], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x32]
mov word [0x852b28], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
mov dx, word [ecx + eax + 0x34]
mov word [0x852b2a], dx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [ecx + eax + 0x36]
mov ecx, dword [edx]
mov dword [0x852b2c], ecx
mov ecx, dword [edx + 4]
mov dword [0x852b30], ecx
mov ecx, dword [edx + 8]
mov dword [0x852b34], ecx
mov dl, byte [edx + 0xc]
mov byte [0x852b38], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [ecx + eax + 0x43]
mov ecx, dword [edx]
mov dword [0x852b39], ecx
mov ecx, dword [edx + 4]
mov dword [0x852b3d], ecx
mov ecx, dword [edx + 8]
mov dword [0x852b41], ecx
mov dl, byte [edx + 0xc]
mov byte [0x852b45], dl
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [ecx + eax + 0x50]
mov ecx, dword [edx]
mov dword [0x852b46], ecx
mov ecx, dword [edx + 4]
mov dword [0x852b4a], ecx
mov ecx, dword [edx + 8]
mov dword [0x852b4e], ecx
mov ecx, dword [edx + 0xc]
mov dword [0x852b52], ecx
mov edx, dword [edx + 0x10]
mov dword [0x852b56], edx
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [ecx + eax + 0x66]
mov eax, dword [edx]
mov dword [0x21e7c9f], eax
mov cx, word [edx + 4]
mov word [0x21e7ca3], cx
mov ecx, 0x84f768
call fcn.004ca7f0
mov ebp, dword [sym.imp.winmm.dll_timeGetTime]
call ebp
mov edx, dword [0x2225648]
mov dword [esp + 0x10], eax
cmp dword [edx + 4], ebx
jne 0x469f3f
lea esp, [esp]
cmp dword [0x703c1c], 6
jne 0x469ec5
push 6
call fcn.0057a9d0
add esp, 4
call ebp
mov edi, eax
jmp 0x469c90
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x469ccb
push ebx
push ebx
push ebx
lea ecx, [esp + 0x5c]
push ecx
call dword [sym.imp.user32.dll_GetMessageA]
test eax, eax
je 0x469ccb
lea edx, [esp + 0x50]
push edx
call dword [sym.imp.user32.dll_TranslateMessage]
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.user32.dll_DispatchMessageA]
call ebp
sub eax, edi
cmp eax, 0x1388
jbe 0x469c90
mov eax, dword [0x2225648]
movzx ecx, byte [eax + 0x1f3]
movzx edx, byte [eax + 0x1f2]
push ecx
movzx ecx, byte [eax + 0x1f1]
push edx
movzx edx, byte [eax + 0x1f0]
push ecx
push edx
lea eax, [esp + 0x7c]
push str._d._d._d._d
push eax
call fcn.005b8b8d
lea ecx, [esp + 0x84]
push 0x785a
push ecx
call fcn.0057a840
add esp, 0x20
test al, al
jne 0x469f50
call fcn.004014f0
mov edx, dword [0x2225648]
mov dword [edx + 0x1ec], ebx
mov eax, dword [0x2225648]
mov edx, dword [eax + 0x1f8]
lea ecx, [eax + 0x342]
push ecx
push edx
call fcn.00588640
add esp, 8
call fcn.00401510
mov ecx, 0x21ea264
mov dword [0x703c1c], 1
call fcn.0042b5f0
mov ecx, 0x21ea278
call fcn.0042b500
mov dword [0x21ea2a8], ebx
call fcn.00457130
mov ecx, dword [0x21e6924]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [0x21e692c], eax
je 0x469dc8
mov eax, dword [eax + 0x10]
cmp eax, ebx
je 0x469db1
xor ecx, ecx
mov cl, byte [eax + 6]
xor edx, edx
mov dx, word [eax + 4]
push ebx
push ecx
mov ecx, 0x84f768
push edx
call fcn.004c07b0
mov ecx, 0x21e692c
call fcn.0040b6a0
mov eax, dword [0x21e692c]
cmp eax, dword [0x21e6924]
jne 0x469d92
mov eax, 0x84f7c8
lea ecx, [ecx]
mov dword [eax - 0xc], ebx
mov dword [eax], ebx
add eax, 4
cmp eax, 0x84f7d4
jl 0x469dd0
mov ecx, 0x21e6994
call fcn.0042b500
mov ecx, 0x21e69ac
call fcn.0042b500
mov ecx, 0x21e69c4
call fcn.0042b500
mov ecx, 0x21e69dc
call fcn.0042b500
mov ecx, 0x21e69f4
call fcn.0042b500
mov ecx, 0x21e691c
call fcn.0042b480
mov ecx, 0x21e68d4
call fcn.0042b500
mov ecx, 0x84f768
call fcn.004ca7f0
mov ecx, 0x21e6904
call fcn.0042b500
mov ecx, 0x21e68ec
call fcn.0042b500
mov ecx, 0x21e6930
mov dword [0x21e6a20], ebx
mov dword [0x21e6a24], ebx
call fcn.0042b710
mov ecx, dword [0x2225648]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x51c]
xor eax, eax
mov ecx, 0x4c8
mov edi, 0x8507f8
rep stosd dword es:[edi], eax
mov ecx, 0xb4
mov edi, 0x21e76b2
rep stosd dword es:[edi], eax
mov ecx, 0xb4
mov edi, 0x21e7982
rep stosd dword es:[edi], eax
mov eax, dword [0x21e75e4]
cmp eax, ebx
je 0x469ea6
push eax
call fcn.005b89dd
add esp, 4
mov dword [0x21e75e4], ebx
mov ecx, 0x21f07e8
mov dword [0x84716c], ebx
call fcn.0052c3a0
mov byte [0x707140], 7
mov dword [0x703c18], ebx
call ebp
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x469f00
push ebx
push ebx
push ebx
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.user32.dll_GetMessageA]
test eax, eax
je 0x469f00
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.user32.dll_TranslateMessage]
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.user32.dll_DispatchMessageA]
mov ecx, dword [0x2225648]
cmp dword [ecx + 0x1ec], ebx
je 0x469f23
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x1f4]
shl edx, 5
cmp eax, dword [edx + ecx + 0x10]
je 0x469f3f
call ebp
sub eax, dword [esp + 0x10]
cmp eax, 0x7530
ja 0x469f7e
mov ecx, dword [0x2225648]
cmp dword [ecx + 4], ebx
je 0x469c70
mov ecx, esi
call fcn.00467de0
mov eax, 1
jmp 0x46936d
push 0x275c
call fcn.0041b230
push eax
push 0xff
push 0xff
push 0xff
push ebx
call fcn.004bd270
add esp, 0x18
mov dword [0x703c1c], ebx
jmp 0x469368
push str.Data_Receving_Error
push 0xff
push 0xff
push 0xff
push ebx
jmp 0x469360
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 7
je 0x46a0e5
push 0x13c6
jmp 0x469173
lea ecx, [esi + 0x1d4c]
call fcn.00517c00
test eax, eax
je 0x46a027
mov ecx, dword [0x2225648]
xor eax, eax
add ecx, 0x10
cmp dword [ecx], ebx
je 0x46a01f
inc eax
add ecx, 0x60
cmp eax, 5
jl 0x469fe2
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 8
je 0x46a0e5
push 0x13c7
jmp 0x469173
add eax, 5
jmp 0x46936d
lea ecx, [esi + 0x2220]
call fcn.00517c00
test eax, eax
je 0x46a0ef
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x46a0b9
lea edx, [eax + eax*2]
mov eax, dword [0x2225648]
shl edx, 5
cmp dword [edx + eax + 0x10], ebx
je 0x46a0b9
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 9
je 0x46a0a9
push 0x13c8
call fcn.0041b230
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x48], eax
mov dword [eax + 0x9cc], ebx
jmp 0x469368
xor eax, eax
mov dword [esi + 0x48], eax
mov dword [eax + 0x9cc], ebx
jmp 0x469368
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x178], 0xa
je 0x46a0e5
push 0x13c6
jmp 0x469173
xor eax, eax
mov dword [esi + 0x48], eax
jmp 0x469368
lea edi, [esi + 0x26f4]
mov ecx, edi
call fcn.00517c00
test eax, eax
je 0x46a117
push ebx
mov ecx, edi
mov dword [esi + 0x4dac], 1
call fcn.00516a50
jmp 0x469368
lea ecx, [esi + 0x2bc8]
call fcn.00517c00
test eax, eax
je 0x469368
xor eax, eax
jmp 0x46936d