Function at 0x4e7e7c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x50], edx
mov esi, eax
lea eax, [ebp - 8]
mov edx, dword [0x4e2fcc]
call fcn.00403e48
xor eax, eax
push ebp
push 0x4e93eb
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004e3200
mov edi, eax
mov eax, esi
cmp eax, 0x284
jg 0x4e8151
je 0x4e87ef
cmp eax, 0x104
jg 0x4e8026
je 0x4e860f
cmp eax, 0xb4
jg 0x4e7f6d
je 0x4e8543
cmp eax, 0x7b
jg 0x4e7f32
je 0x4e843b
cmp eax, 0x78
jg 0x4e7f1d
je 0x4e83d3
sub eax, 0x64
je 0x4e8386
sub eax, 5
je 0x4e83c9
jmp case.default.0x4e8357
sub eax, 0x79
je 0x4e83dd
dec eax
je 0x4e841e
jmp case.default.0x4e8357
cmp eax, 0x8c
jg 0x4e7f54
je case.0x4e8357.1427
sub eax, 0x7c
je 0x4e8407
dec eax
je 0x4e844a
jmp case.default.0x4e8357
sub eax, 0xa0
je case.0x4e8357.1427
sub eax, 0xa
je case.0x4e8357.1429
jmp case.default.0x4e8357
add eax, 0xffffff38
cmp eax, 0x28
ja case.default.0x4e8357
jmp dword [eax*4 + 0x4e7f82]
cmp eax, 0x15d
jg 0x4e80c6
je 0x4e872d
cmp eax, 0x140
jg 0x4e8089
je 0x4e868e
cmp eax, 0x122
jge 0x4e8064
sub eax, 0x109
je 0x4e8619
sub eax, 0xf
je 0x4e8623
jmp case.default.0x4e8357
add eax, 0xfffffede
sub eax, 2
jb 0x4e8639
sub eax, 8
je 0x4e867a
sub eax, 5
je case.0x4e8357.1424
jmp case.default.0x4e8357
cmp eax, 0x157
jg 0x4e80af
je 0x4e86ea
sub eax, 0x145
je case.0x4e8357.1424
sub eax, 0xf
je 0x4e86c5
jmp case.default.0x4e8357
sub eax, 0x159
je 0x4e8709
dec eax
je 0x4e871a
jmp case.default.0x4e8357
cmp eax, 0x258
jg 0x4e8114
je 0x4e8796
add eax, 0xfffffea2
cmp eax, 0xa
ja case.default.0x4e8357
jmp dword [eax*4 + 0x4e80e8]
cmp eax, 0x281
jg 0x4e813a
je 0x4e87bf
sub eax, 0x26c
je 0x4e87a2
sub eax, 0x14
je 0x4e87ae
jmp case.default.0x4e8357
sub eax, 0x282
je 0x4e87ce
dec eax
je 0x4e87d8
jmp case.default.0x4e8357
cmp eax, 0x37a
jg 0x4e82a8
je 0x4e8ce1
cmp eax, 0x339
jg 0x4e81ff
je 0x4e8a0c
cmp eax, 0x32b
jg 0x4e81c2
je 0x4e8966
cmp eax, 0x294
jg 0x4e81a6
je 0x4e88d8
add eax, 0xfffffd7b
sub eax, 2
jb 0x4e87fe
je 0x4e8825
jmp case.default.0x4e8357
add eax, 0xfffffd44
sub eax, 7
jb 0x4e893a
sub eax, 0x5d
je 0x4e8948
jmp case.default.0x4e8357
add eax, 0xfffffcd3
cmp eax, 9
ja case.default.0x4e8357
jmp dword [eax*4 + 0x4e81d7]
cmp eax, 0x35c
jg 0x4e824b
je 0x4e8c08
cmp eax, 0x348
jg 0x4e8232
je 0x4e8b31
sub eax, 0x33c
je 0x4e8aea
sub eax, 3
je 0x4e8b25
jmp case.default.0x4e8357
sub eax, 0x34d
je 0x4e8b69
sub eax, 5
je 0x4e8bfc
jmp case.default.0x4e8357
add eax, 0xfffffca1
cmp eax, 0x11
ja case.default.0x4e8357
jmp dword [eax*4 + 0x4e8260]
cmp eax, 0x58c
jg 0x4e8349
je 0x4e92d0
cmp eax, 0x520
jg 0x4e8308
je 0x4e8f65
cmp eax, 0x4ec
jg 0x4e82ef
je 0x4e8d41
add eax, 0xfffffc18
sub eax, 0x64
jb 0x4e8d05
sub eax, 0x64
je 0x4e8d32
jmp case.default.0x4e8357
sub eax, 0x4f6
je 0x4e8e94
sub eax, 0x29
je 0x4e8ea3
jmp case.default.0x4e8357
cmp eax, 0x523
jge 0x4e8326
sub eax, 0x521
je 0x4e8fc6
dec eax
je 0x4e902d
jmp case.default.0x4e8357
add eax, 0xfffffadd
sub eax, 2
jb 0x4e90e4
sub eax, 0x53
je 0x4e91bb
dec eax
je 0x4e921c
jmp case.default.0x4e8357
add eax, 0xfffffa73
cmp eax, 9
ja case.default.0x4e8357
jmp dword [eax*4 + 0x4e835e]
mov eax, dword [0x671910]
test byte [eax + 7], 2
je 0x4e839b
call fcn.004e5c80
jmp case.default.0x4e8357
push 0
call fcn.0053c3b0
mov ecx, dword [0x6722cc]
mov ecx, dword [ecx + 4]
xor edx, edx
call fcn.0053b34c
test al, al
je case.default.0x4e8357
mov eax, 0x7d0
call fcn.004accd0
jmp case.default.0x4e8357
call fcn.004e5c80
jmp case.default.0x4e8357
call fcn.004e5cc4
jmp case.default.0x4e8357
mov al, byte [edi + 0x3f6]
xor al, 1
mov byte [edi + 0x3f6], al
mov eax, edi
call fcn.005bcb28
mov eax, edi
call fcn.005093f0
mov eax, dword [0x6723cc]
mov byte [eax + 0xf], 1
jmp case.default.0x4e8357
lea edx, [ebp - 0x18]
mov eax, edi
call fcn.005684ec
mov eax, dword [ebp - 0x18]
call fcn.00624aac
jmp case.default.0x4e8357
mov eax, dword [0x671ed8]
mov eax, dword [eax]
call fcn.00624f1c
mov eax, dword [0x671ed8]
mov eax, dword [eax]
call fcn.00624a8c
jmp case.default.0x4e8357
mov eax, dword [0x671c60]
call fcn.0047a000
jmp case.default.0x4e8357
call fcn.004e5d98
jmp case.default.0x4e8357
cmp esi, 0xa0
je 0x4e8477
cmp esi, 0x593
je 0x4e8477
mov eax, dword [edi + 0x174]
call fcn.0063f87c
test al, al
je case.default.0x4e8357
cmp esi, 0x8c
jne 0x4e849b
call fcn.0053c3b0
xor ecx, ecx
mov edx, edi
call fcn.0053ba44
mov eax, 0x7f8
call fcn.004accd0
mov bl, 1
jmp 0x4e84bc
cmp esi, 0xa0
jne 0x4e84ae
xor eax, eax
call fcn.004e5e2c
mov ebx, eax
jmp 0x4e84bc
mov eax, dword [0x672244]
mov eax, dword [eax]
call fcn.004e5e2c
mov ebx, eax
test bl, bl
je case.default.0x4e8357
mov eax, dword [0x6730f0]
cmp dword [eax], 0
je case.default.0x4e8357
mov eax, dword [0x6719c8]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne case.default.0x4e8357
mov ax, word [0x4e93fc]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00658904
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.006587e0
mov edx, dword [ebp - 0x18]
mov eax, dword [0x6731a0]
mov eax, dword [eax]
mov cl, 3
call fcn.0062338c
cmp ax, 6
jne case.default.0x4e8357
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x523
call fcn.004f63fc
jmp case.default.0x4e8357
mov eax, esi
call fcn.004e5f04
jmp case.default.0x4e8357
mov eax, edi
call fcn.0059c3e8
test al, al
jne case.default.0x4e8357
mov eax, 0x80c
call fcn.004accd0
jmp case.default.0x4e8357
mov cl, 1
mov edx, dword [edi + 0x160]
mov eax, edi
call fcn.0059c850
test al, al
jne case.default.0x4e8357
mov eax, 0x80c
call fcn.004accd0
jmp case.default.0x4e8357
mov eax, esi
call fcn.004e6104
jmp case.default.0x4e8357
mov eax, edi
call fcn.0059d064
test al, al
jne case.default.0x4e8357
mov eax, 0x80c
call fcn.004accd0
jmp case.default.0x4e8357
mov eax, edi
call fcn.0059d2ac
test al, al
jne case.default.0x4e8357
mov eax, 0x80c
call fcn.004accd0
jmp case.default.0x4e8357
call fcn.004e6044
jmp case.default.0x4e8357
mov eax, edi
call fcn.004b32b4
jmp case.default.0x4e8357
mov eax, edi
call fcn.004d11a4
jmp case.default.0x4e8357
call fcn.004d51b8
jmp case.default.0x4e8357
call fcn.004e6240
jmp case.default.0x4e8357
call fcn.004e645c
jmp case.default.0x4e8357
call fcn.004e64dc
jmp case.default.0x4e8357
call fcn.004e66ac
jmp case.default.0x4e8357
mov eax, 0x820
call fcn.004accd0
mov eax, edi
call fcn.0044a1f0
jmp case.default.0x4e8357
cmp byte [edi + 0x14d], 0
jne 0x4e865b
cmp dword [edi + 0x81c], 0
je 0x4e865b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1c20
call fcn.004f63fc
mov dl, byte [edi + 0x14d]
xor dl, 1
mov eax, edi
call fcn.00564fc8
mov eax, 0x834
call fcn.004accd0
jmp case.default.0x4e8357
mov eax, 0x848
call fcn.004accd0
call fcn.004e679c
jmp case.default.0x4e8357
mov eax, 0x848
call fcn.004accd0
call fcn.0053c3b0
mov edx, dword [0x6719c8]
mov edx, dword [edx]
call fcn.0053c024
jmp case.default.0x4e8357
mov eax, 0x848
call fcn.004accd0
mov eax, esi
call fcn.004e62f0
jmp case.default.0x4e8357
mov eax, dword [0x672ee4]
mov eax, dword [eax]
call fcn.0061bf90
test al, al
je case.default.0x4e8357
or dword [0x675e70], 0x40
call fcn.00509530
jmp case.default.0x4e8357
mov eax, dword [0x672ee4]
mov eax, dword [eax]
xor edx, edx
call fcn.0061bf44
or dword [0x675e70], 0x40
call fcn.00509530
jmp case.default.0x4e8357
mov eax, dword [0x67281c]
mov eax, dword [eax]
call fcn.0061bf90
jmp case.default.0x4e8357
mov eax, dword [0x67281c]
mov eax, dword [eax]
xor edx, edx
call fcn.0061bf44
jmp case.default.0x4e8357
mov eax, dword [0x672374]
mov eax, dword [eax]
call fcn.0061bf90
jmp case.default.0x4e8357
mov eax, dword [0x672374]
mov eax, dword [eax]
xor edx, edx
call fcn.0061bf44
jmp case.default.0x4e8357
mov eax, dword [0x672c64]
mov eax, dword [eax]
call fcn.0061bf90
jmp case.default.0x4e8357
mov eax, dword [0x672c64]
mov eax, dword [eax]
xor edx, edx
call fcn.0061bf44
jmp case.default.0x4e8357
call fcn.0053999c
mov eax, dword [eax + 0x34]
call fcn.00652324
jmp case.default.0x4e8357
call fcn.005093e8
call fcn.00509368
jmp case.default.0x4e8357
mov eax, edi
call fcn.005c94f8
jmp case.default.0x4e8357
xor eax, eax
call fcn.004708e4
jmp case.default.0x4e8357
mov eax, dword [0x671fbc]
mov al, byte [eax]
call fcn.004bc2d4
jmp case.default.0x4e8357
mov eax, dword [0x4c0c84]
call fcn.006262a0
jmp case.default.0x4e8357
call fcn.00466cf4
jmp case.default.0x4e8357
mov eax, dword [0x6722cc]
add eax, 4
call fcn.004b7bf0
call fcn.00509538
jmp case.default.0x4e8357
mov eax, dword [0x4d5c38]
call fcn.006262a0
jmp case.default.0x4e8357
xor ecx, ecx
mov dl, 1
mov eax, dword [0x46a3c8]
call fcn.0046b5f8
mov edx, dword [0x672fec]
mov dword [edx], eax
mov eax, dword [0x672fec]
mov eax, dword [eax]
call fcn.0063f984
jmp case.default.0x4e8357
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e0d98]
call fcn.00626260
mov ebx, eax
mov edx, 0x38e28
mov eax, ebx
call fcn.006262c4
mov eax, ebx
call fcn.0063f9d8
cmp eax, 6
jne 0x4e88cc
call fcn.00620e7c
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x6729c0]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0xb
mov eax, dword [0x6729c0]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x2c], 0xb
lea ecx, [ebp - 0x18]
mov edx, 0x4e9408
mov al, 9
call fcn.0061fdfc
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x3c]
call fcn.00658264
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], 0xb
lea edx, [ebp - 0x38]
mov eax, 0x4e9418
mov ecx, 2
call fcn.00659050
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
call fcn.0065829c
mov edx, dword [ebp - 0x18]
mov eax, dword [0x672c50]
call fcn.004038bc
call fcn.005093e8
call fcn.00509368
mov eax, ebx
call fcn.004028c0
jmp case.default.0x4e8357
mov eax, dword [0x671848]
cmp byte [eax], 0
je 0x4e892b
mov eax, dword [0x672a00]
cmp byte [eax], 0
je 0x4e892b
call fcn.00620d08
test al, al
jne 0x4e892b
mov eax, dword [0x67317c]
mov eax, dword [eax]
mov cx, word [0x4e93fc]
mov dl, 3
call fcn.006230e8
cmp ax, 6
jne case.default.0x4e8357
mov eax, dword [0x672018]
mov byte [eax], 1
call fcn.005093e8
call fcn.00509368
jmp case.default.0x4e8357
mov eax, dword [0x4d7704]
call fcn.006262a0
jmp case.default.0x4e8357
push ebp
mov eax, esi
call fcn.004e683c
pop ecx
jmp case.default.0x4e8357
mov dl, 1
mov eax, edi
call fcn.005e56d8
push 0
call fcn.00532af4
xor ecx, ecx
mov edx, edi
call fcn.0052f954
jmp case.default.0x4e8357
call fcn.00532af4
lea ebx, [eax + 0x18]
mov eax, dword [ebx + 0x44]
call fcn.00522c94
mov edx, dword [ebx + 0x44]
mov eax, dword [0x673098]
mov eax, dword [eax]
call fcn.00652038
mov al, 1
call fcn.00522cc4
jmp case.default.0x4e8357
call fcn.004e6bd4
jmp case.default.0x4e8357
call fcn.00532af4
mov ebx, eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x824]
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, ebx
call fcn.0052c8c0
mov eax, edi
call fcn.005e55bc
jmp case.default.0x4e8357
mov eax, esi
call fcn.004e6bfc
jmp case.default.0x4e8357
call fcn.00532af4
lea ebx, [eax + 0x18]
mov esi, dword [ebx + 0x44]
mov eax, esi
call fcn.00656db4
mov edx, eax
lea ecx, [ebp - 0x18]
mov eax, dword [ebx + 0x3c]
call fcn.00658188
mov edx, dword [ebp - 0x18]
mov eax, esi
call fcn.00481268
jmp case.default.0x4e8357
push ebp
call fcn.004e6cf0
pop ecx
jmp case.default.0x4e8357
mov eax, dword [0x671910]
test byte [eax + 0xa9], 0x80
je 0x4e8a55
mov eax, dword [0x671c18]
test byte [eax + 1], 0x10
je 0x4e8a55
mov eax, dword [0x672510]
mov eax, dword [eax]
mov cl, 0x21
mov dl, 3
call fcn.00623608
cmp ax, 6
jne 0x4e93aa
mov eax, dword [0x671c18]
and dword [eax], 0xffffefff
mov eax, dword [0x671c18]
or dword [eax], 0x2000
mov eax, dword [0x671910]
test byte [eax + 0xa9], 0x80
je 0x4e8a73
mov eax, dword [0x671910]
and word [eax + 0xa9], 0xff7f
jmp 0x4e8a81
mov eax, dword [0x671910]
or word [eax + 0xa9], 0x80
call fcn.00532af4
call fcn.0052c8c0
call fcn.0053d558
mov eax, dword [0x671910]
test byte [eax + 0xa9], 0x80
je 0x4e8ae0
mov eax, dword [0x671c18]
test byte [eax + 1], 0x10
jne 0x4e8ae0
mov eax, dword [0x671c18]
test byte [eax + 1], 0x20
je 0x4e8ae0
mov eax, dword [0x673390]
mov eax, dword [eax]
mov cl, 0x22
mov dl, 3
call fcn.00623608
cmp ax, 6
jne 0x4e8ae0
mov eax, dword [0x671c18]
or dword [eax], 0x1000
mov eax, dword [0x671c18]
and dword [eax], 0xffffdfff
call fcn.00509530
jmp case.default.0x4e8357
mov eax, dword [0x671910]
test byte [eax + 0xaa], 1
je 0x4e8b08
mov eax, dword [0x671910]
and word [eax + 0xa9], 0xfeff
jmp 0x4e8b16
mov eax, dword [0x671910]
or word [eax + 0xa9], 0x100
call fcn.0053d558
call fcn.00509530
jmp case.default.0x4e8357
mov al, 5
call fcn.004bc2d4
jmp case.default.0x4e8357
call fcn.00532af4
lea edx, [eax + 0x18]
mov eax, edx
mov ecx, dword [eax]
push ecx
mov ebx, dword [eax + 4]
add ebx, dword [edx + 0x10]
push ebx
mov dl, byte [0x4e93fc]
push edx
mov edx, ecx
mov ecx, dword [eax + 4]
mov eax, edi
call fcn.005c5d28
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.004e5ab8
pop ecx
jmp case.default.0x4e8357
mov eax, dword [0x6723cc]
cmp byte [eax + 0x17], 0
jne case.default.0x4e8357
mov eax, dword [0x672908]
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
je 0x4e8bd3
push 0x12
call sub.user32.dll_GetKeyState
movsx ebx, ax
mov esi, ebx
and esi, 0x80
test esi, esi
je 0x4e8ba8
push 0
push 2
push 0
push 0x12
call sub.user32.dll_keybd_event
push 0
push 0
push 0
push 0x12
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x12
call sub.user32.dll_keybd_event
test esi, esi
je 0x4e8bd3
push 0
push 0
push 0
push 0x12
call sub.user32.dll_keybd_event
mov eax, dword [0x6723cc]
mov byte [eax + 0x17], 1
call fcn.00466dc0
call fcn.00466e80
call fcn.00466dc0
mov edx, 0x66c134
xor ecx, ecx
call fcn.00466e50
jmp case.default.0x4e8357
mov eax, edi
call fcn.005e5194
jmp case.default.0x4e8357
xor edx, edx
mov eax, dword [edi + 0x3a4]
call fcn.00481268
jmp case.default.0x4e8357
push ebp
call fcn.004e6d90
pop ecx
jmp case.default.0x4e8357
push ebp
call fcn.004e6fb8
pop ecx
jmp case.default.0x4e8357
mov eax, dword [edi + 0x1f0]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x1f4]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x1f8]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0x3a4]
cmp eax, 0x80000000
jne 0x4e8c6d
mov ecx, dword [edi + 0x25c]
mov edx, dword [edi + 0x258]
mov eax, edi
call fcn.005c8424
lea edx, [ebp - 0x14]
xchg edx, eax
call fcn.0048ccf0
sub al, 1
jb 0x4e8c83
dec al
je 0x4e8c94
jmp case.default.0x4e8357
lea ecx, [ebp - 0x14]
mov dl, 0x31
mov eax, edi
call fcn.005cf5e8
jmp case.default.0x4e8357
lea edx, [ebp - 0x14]
mov eax, edi
call fcn.005d5b2c
jmp case.default.0x4e8357
mov eax, dword [edi + 0x1f0]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x1f4]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x1f8]
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x14]
xor al, 1
mov byte [ebp - 0x14], al
lea ecx, [ebp - 0x14]
mov dl, 0x31
mov eax, edi
call fcn.005cf5e8
jmp case.default.0x4e8357
call fcn.004e7204
jmp case.default.0x4e8357
call fcn.0047bae8
mov eax, dword [0x671bbc]
mov eax, dword [eax]
mov dl, 1
call fcn.0062643c
mov eax, dword [0x671bbc]
mov eax, dword [eax]
call fcn.00646e30
jmp case.default.0x4e8357
push 0
call fcn.0053c3b0
mov ecx, esi
sub ecx, 0x3e8
xor edx, edx
call fcn.0053b34c
test al, al
je case.default.0x4e8357
mov eax, 0x7d0
call fcn.004accd0
jmp case.default.0x4e8357
mov eax, dword [0x4898d4]
call fcn.006262a0
jmp case.default.0x4e8357
mov eax, dword [0x6730f0]
cmp dword [eax], 0
je 0x4e8e2b
lea eax, [ebp - 0x20]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00658904
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.006587e0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x3c]
call fcn.00658264
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x50]
mov eax, dword [edi + 0x160]
call fcn.00658264
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0xb
lea edx, [ebp - 0x4c]
mov eax, dword [0x672bc4]
mov eax, dword [eax]
mov ecx, 1
call fcn.00659050
mov eax, dword [ebp - 0x20]
mov cx, word [0x4e9428]
mov dl, 3
call fcn.006230e8
sub ax, 6
je 0x4e8dd2
dec ax
je 0x4e8de7
jmp 0x4e93aa
lea eax, [ebp - 8]
mov edx, dword [0x6730f0]
mov edx, dword [edx]
mov edx, dword [edx + 4]
call fcn.004038bc
jmp 0x4e8e39
cmp byte [edi + 0x45c], 0
je 0x4e8e01
mov eax, dword [0x673124]
mov eax, dword [eax]
call fcn.006233ec
jmp 0x4e93aa
cmp byte [edi + 0x427], 0
je 0x4e8e1b
mov eax, dword [0x672114]
mov eax, dword [eax]
call fcn.006233ec
jmp 0x4e93aa
lea eax, [ebp - 8]
mov edx, dword [edi + 0x160]
call fcn.004038bc
jmp 0x4e8e39
lea eax, [ebp - 8]
mov edx, dword [edi + 0x160]
call fcn.004038bc
call fcn.004d4418
mov ebx, eax
cmp dword [ebx + 0x24], 1
jne 0x4e8e5b
lea ecx, [ebp - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x30f98
call fcn.004f7470
jmp 0x4e8e88
call fcn.004d3f9c
test al, al
je 0x4e8e88
lea eax, [ebp - 4]
mov edx, dword [0x671910]
mov edx, dword [edx + 0x1e]
call fcn.004038bc
lea ecx, [ebp - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x30f98
call fcn.004f7470
mov eax, ebx
call fcn.004028c0
jmp case.default.0x4e8357
mov eax, dword [0x4d41a4]
call fcn.006262a0
jmp case.default.0x4e8357
lea edx, [ebp - 0x18]
mov eax, dword [0x672d4c]
mov eax, dword [eax]
call fcn.00658380
mov eax, dword [ebp - 0x18]
push eax
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
add eax, 0x38
mov edx, dword [0x672ce4]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 8]
pop ecx
call fcn.00403b24
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
mov byte [eax + 0x56], 2
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
je case.default.0x4e8357
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x523
call fcn.004f63fc
mov eax, dword [0x6730f0]
cmp dword [eax], 0
jne case.default.0x4e8357
mov dl, 1
mov eax, dword [0x539cbc]
call fcn.00402898
mov edx, dword [0x6730f0]
mov dword [edx], eax
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
lea edx, [ebp - 0x18]
call fcn.00630c9c
mov edx, dword [ebp - 0x18]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
add eax, 4
call fcn.004038bc
call fcn.005093e8
call fcn.005069e4
jmp case.default.0x4e8357
call fcn.005093e8
mov eax, dword [eax + 0x1b0]
add eax, 0x38
call fcn.00403880
call fcn.005093e8
mov eax, dword [eax + 0x1b0]
mov byte [eax + 0x56], 1
call fcn.005093e8
mov eax, dword [eax + 0x1b0]
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
je case.default.0x4e8357
call fcn.005093e8
mov eax, dword [eax + 0x1b0]
lea edx, [ebp - 0x18]
call fcn.00630c9c
mov eax, dword [ebp - 0x18]
push eax
call fcn.0053c3b0
pop edx
call fcn.0053a4e0
jmp case.default.0x4e8357
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x4e9012
inc edi
xor esi, esi
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00568518
test al, al
je 0x4e900e
cmp byte [ebx + 0x45c], 0
jne 0x4e900e
mov eax, ebx
call fcn.0059c3e8
test al, al
je 0x4e900e
call fcn.00509530
jmp 0x4e93aa
inc esi
dec edi
jne 0x4e8fd8
mov eax, dword [0x6730f0]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
call fcn.00539e28
jmp case.default.0x4e8357
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
add eax, 0x38
mov edx, dword [0x6730f0]
mov edx, dword [edx]
mov edx, dword [edx + 4]
call fcn.004038bc
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
mov byte [eax + 0x56], 2
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
je case.default.0x4e8357
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
lea edx, [ebp - 0x18]
call fcn.00630c9c
mov eax, dword [ebp - 0x18]
mov edx, dword [0x6730f0]
mov edx, dword [edx]
mov edx, dword [edx + 4]
call fcn.006586a0
test al, al
jne case.default.0x4e8357
call fcn.005093e8
mov eax, dword [eax + 0x1b4]
lea edx, [ebp - 0x18]
call fcn.00630c9c
mov edx, dword [ebp - 0x18]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
add eax, 4
call fcn.004038bc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x521
call fcn.004f63fc
call fcn.005093e8
call fcn.005069e4
jmp case.default.0x4e8357
mov ax, word [0x4e9428]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00658904
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.006587e0
mov edx, dword [ebp - 0x18]
mov eax, dword [0x672088]
mov eax, dword [eax]
mov cl, 3
call fcn.0062338c
sub ax, 2
je 0x4e93aa
sub ax, 4
jne 0x4e9154
call fcn.004e6044
test al, al
je 0x4e93aa
mov eax, dword [0x6730f0]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x6730f0]
mov eax, dword [eax]
call fcn.00539e28
test al, al
je 0x4e93aa
mov eax, dword [0x6730f0]
call fcn.006565a4
cmp esi, 0x523
jne 0x4e91ac
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e91ac
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
cmp byte [eax + 0x45c], 0
jne 0x4e91a6
call fcn.0053c3b0
mov edx, dword [0x6719c8]
mov edx, dword [edx]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx + esi*4]
mov cl, 1
call fcn.0053ba44
dec esi
cmp esi, 0xffffffff
jne 0x4e9176
call fcn.005093e8
call fcn.005069e4
jmp case.default.0x4e8357
xor eax, eax
mov dword [edi + 0x8fc], eax
mov dword [edi + 0x900], eax
xor eax, eax
mov dword [edi + 0x904], eax
xor eax, eax
mov dword [edi + 0x908], eax
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov edx, dword [edi + 0x160]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov esi, eax
cmp esi, 0xffffffff
je case.default.0x4e8357
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00401fac
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp case.default.0x4e8357
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e925d
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
xor edx, edx
mov dword [eax + 0x8fc], edx
mov dword [eax + 0x900], edx
xor edx, edx
mov dword [eax + 0x904], edx
xor edx, edx
mov dword [eax + 0x908], edx
dec esi
cmp esi, 0xffffffff
jne 0x4e922c
call fcn.0053999c
call fcn.00538a60
test al, al
je 0x4e9296
call fcn.0053999c
call fcn.00538424
mov eax, dword [eax + 8]
xor edx, edx
mov dword [eax + 0x8fc], edx
mov dword [eax + 0x900], edx
xor edx, edx
mov dword [eax + 0x904], edx
xor edx, edx
mov dword [eax + 0x908], edx
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov esi, dword [eax + 0x24]
dec esi
cmp esi, 0
jl 0x4e92bf
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00401fac
dec esi
cmp esi, 0xffffffff
jne 0x4e92a6
mov eax, dword [0x6725c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x34]
jmp case.default.0x4e8357
mov edx, dword [0x6719c8]
mov edx, dword [edx]
mov eax, dword [0x672244]
mov eax, dword [eax]
call fcn.00651fac
mov eax, dword [0x6723cc]
mov byte [eax + 0xf], 1
jmp case.default.0x4e8357
mov eax, dword [0x672244]
mov eax, dword [eax]
call fcn.00651f8c
mov eax, dword [0x6723cc]
mov byte [eax + 0xf], 1
jmp case.default.0x4e8357
mov eax, 0x848
call fcn.004accd0
call fcn.0053c3b0
mov edx, dword [0x672244]
mov edx, dword [edx]
call fcn.0053c024
jmp case.default.0x4e8357
call fcn.004e7574
jmp case.default.0x4e8357
call fcn.004e77c8
jmp case.default.0x4e8357
call fcn.004e7c28
jmp case.default.0x4e8357
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x596
call fcn.004e3400
cmp al, 1
setne bl
mov eax, dword [0x672244]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e939c
mov eax, dword [0x672244]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
cmp byte [edi + 0x45c], 0
jne 0x4e9396
cmp bl, byte [edi + 0x3f6]
je 0x4e9396
mov byte [edi + 0x3f6], bl
mov eax, edi
call fcn.005bcb28
mov eax, edi
call fcn.005093f0
dec esi
cmp esi, 0xffffffff
jne 0x4e9364
mov eax, dword [0x6723cc]
mov byte [eax + 0xf], 1
call fcn.00509530
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e93f2
lea eax, [ebp - 0x50]
call fcn.00403274
lea eax, [ebp - 0x3c]
call fcn.00403274
lea eax, [ebp - 0x20]
call fcn.00403274
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 8]
mov edx, dword [0x4e2fcc]
call fcn.00403f10
ret