Function at 0x47c1c0
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2b
push 0
push 0
dec ecx
jne 0x47c1c9
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, dword [ebp + 0x14]
lea edi, [ebp - 0x21]
push ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop ecx
movsb byte es:[edi], byte [esi]
mov ebx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x21]
mov edx, dword [0x459f40]
call fcn.00405ae4
xor eax, eax
push ebp
push 0x47d5d2
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00460bd0
test al, al
je 0x47c241
cmp byte [0x5a4738], 0
je 0x47c241
cmp dword [0x5a4730], 0
jne 0x47c241
mov eax, dword [0x5a07b8]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
jne 0x47c241
mov byte [ebp - 0xb9], 1
jmp 0x47d543
mov byte [ebp - 0xb9], 0
call fcn.0040e610
fstp qword [0x5a47ec]
wait
mov eax, dword [ebp - 0x2c]
mov dword [0x594130], eax
mov dword [0x5a47f4], 1
xor edx, edx
push ebp
push 0x47d51e
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00407440
mov byte [eax + 0x181], 1
mov ecx, dword [0x5a46a8]
mov dl, 1
mov eax, dword [0x459e78]
call fcn.0047fb80
mov dword [ebp - 0x6c], eax
xor edx, edx
push ebp
push 0x47d50d
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x28], 0
je 0x47c2b1
mov eax, dword [ebp - 0x28]
mov dword [0x5a4768], eax
test bl, bl
je 0x47c2c4
cmp dword [ebp - 0x28], 0
je 0x47c2c4
mov eax, dword [ebp - 0x28]
sub eax, 5
mov dword [ebp - 0x28], eax
call fcn.0047bde0
cmp esi, dword [0x5a1668]
je 0x47c2d9
mov ebx, dword [0x5a1668]
jmp 0x47c2e1
mov ebx, dword [0x5a0004]
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x28]
mov dword [0x5a498c], eax
mov eax, dword [ebp - 0x2c]
mov dword [0x5a4988], eax
mov eax, dword [ebp - 0xc]
mov dword [0x5a4990], eax
cmp byte [0x593be0], 0
je 0x47c371
call fcn.00475400
call fcn.0045edc0
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x47c48c
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x23]
mov eax, dword [0x5a46b8]
mov ecx, dword [eax]
call dword [ecx + 8]
lea eax, [ebp - 0xe8]
call fcn.004753b4
mov edx, dword [ebp - 0xe8]
mov eax, dword [0x5a46b8]
call fcn.00432de0
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x5c]
call fcn.00405338
push eax
call sub.kernel32.dll_GetModuleHandleA_2
mov edx, eax
mov eax, dword [0x5a46b8]
call fcn.00432dfc
jmp 0x47c48c
xor eax, eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0x28], 0
je 0x47c397
mov dword [0x5a47f4], 0x65
mov eax, dword [ebp - 0x28]
call fcn.0045eecc
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x47c3ac
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x27], 0
jne 0x47c3f3
mov dword [0x5a47f4], 0x66
mov eax, esi
call fcn.0045edc0
mov dword [ebp - 0xd0], eax
mov dword [0x5a47f4], 0x67
cmp dword [ebp - 0xd0], 0
je 0x47c3e6
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x27], 0
jne 0x47c3f3
test ebx, ebx
je 0x47c3f3
mov eax, ebx
call fcn.0045edc0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x23]
mov eax, dword [0x5a46b8]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x5a46b8]
test byte [eax + 0x331], 8
je 0x47c467
test ebx, ebx
je 0x47c467
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, ebx
call fcn.0045edc0
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x47c446
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x27], 0
jne 0x47c454
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
jmp 0x47c467
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x23]
mov eax, dword [0x5a46b8]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 4]
mov eax, dword [0x5a46b8]
call fcn.00432de0
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
mov eax, dword [0x5a46b8]
call fcn.00432dfc
xor edx, edx
mov eax, dword [0x5a46b8]
call fcn.00432fb0
lea ecx, [ebp - 0xec]
mov dl, 0x9a
mov eax, dword [0x5a46b8]
call fcn.004312b0
mov edx, dword [ebp - 0xec]
mov eax, 0x594144
call fcn.00404eb0
lea ecx, [ebp - 0xf0]
mov dl, 0x9b
mov eax, dword [0x5a46b8]
call fcn.004312b0
mov edx, dword [ebp - 0xf0]
mov eax, 0x594148
call fcn.00404eb0
mov dword [0x5a47f4], 0x68
call fcn.00430700
test al, al
je 0x47c530
mov eax, dword [0x5a46b8]
mov dx, word [0x47d5ec]
not edx
and dx, word [eax + 0x314]
mov eax, dword [0x5a46b8]
call fcn.00433180
mov ecx, 0x47d5f8
mov dl, 0x1a
mov eax, dword [0x5a46b8]
call fcn.00432d50
mov ecx, 0x47d624
mov dl, 0x1b
mov eax, dword [0x5a46b8]
call fcn.00432d50
mov dword [0x5a47f4], 2
xor eax, eax
call fcn.00467030
push ebp
call fcn.0047bfe4
pop ecx
mov byte [ebp - 0xc1], 2
mov byte [ebp - 0xc2], 0
mov eax, dword [0x5a46b8]
mov al, byte [eax + 0x6a]
mov byte [0x5a4944], al
mov byte [0x5a4945], 0
cmp byte [ebp + 8], 2
je 0x47c6aa
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x2ed], 0
je 0x47c6aa
push ebp
mov eax, dword [ebp - 0x2c]
call fcn.00478688
pop ecx
mov dword [ebp - 0xc0], eax
mov dword [0x5a47f4], 0xc9
cmp dword [ebp - 0xc0], 0xffffffff
je 0x47c6aa
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc0]
call fcn.00430de4
mov al, byte [eax + 0xc]
mov byte [ebp - 0xc2], al
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc0]
call fcn.00430de4
mov al, byte [eax + 0xb]
mov byte [ebp - 0xc1], al
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc0]
call fcn.00430de4
movzx eax, byte [eax + 0xa]
cmp eax, 4
ja case.default.0x47c601
jmp dword [eax*4 + 0x47c608]
mov byte [0x5a4944], 0
jmp case.default.0x47c601
mov eax, dword [0x5a46b8]
mov al, byte [eax + 0x6a]
mov byte [0x5a4944], al
jmp case.default.0x47c601
mov byte [0x5a4944], 1
jmp case.default.0x47c601
mov byte [0x5a4944], 2
jmp case.default.0x47c601
mov byte [0x5a4944], 3
mov byte [0x5a4945], 1
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc0]
call fcn.00430de4
mov eax, dword [eax + 5]
lea edx, [ebp - 0xf4]
call fcn.0042f550
cmp dword [ebp - 0xf4], 0
je 0x47c6aa
mov eax, dword [0x5a46b8]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc0]
call fcn.00430de4
mov eax, dword [eax + 5]
lea edx, [ebp - 0xf8]
call fcn.0042f550
mov eax, dword [ebp - 0xf8]
call fcn.00467030
call fcn.0047bd48
mov byte [ebp - 0xba], al
mov dword [0x5a47f4], 3
cmp byte [ebp - 0xc1], 2
jne 0x47d4af
cmp dword [ebp - 0x14], 0
jne 0x47c6da
call fcn.0045cb18
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], 0
jne 0x47c6ee
call fcn.00407440
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x20], 0
jne 0x47c710
call fcn.00407440
cmp dword [eax + 0x64], 0
je 0x47c710
call fcn.00407440
lea eax, [eax + 0x64]
mov dword [ebp - 0x20], eax
mov edx, 0xcc
mov eax, dword [ebp - 0x20]
call fcn.0042ffa0
test al, al
jne 0x47c726
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x1c], 0
jne 0x47c73a
call fcn.00407440
lea eax, [eax + 0x130]
mov dword [ebp - 0x1c], eax
mov edx, 0x50
mov eax, dword [ebp - 0x1c]
call fcn.0042ffa0
test al, al
jne 0x47c750
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [0x5a476c], eax
mov dword [0x5a47f4], 4
cmp dword [0x5a47a0], 0
je 0x47c783
mov edx, dword [ebp - 0x28]
add edx, 5
mov eax, dword [0x5a47a0]
call fcn.004651b4
test al, al
jne 0x47cc27
cmp dword [0x59411c], 0
je 0x47c796
mov eax, dword [0x59411c]
call fcn.00403f0c
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x47c7c4
mov eax, dword [ebp - 0xc]
push eax
push 1
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov al, byte [0x47d634]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
call fcn.00466e0c
mov dword [0x59411c], eax
jmp 0x47c7c9
mov dword [0x59411c], eax
lea eax, [ebp - 0xfc]
call fcn.004764b8
push dword [ebp - 0xfc]
push ebp
lea eax, [ebp - 0x100]
call fcn.00475e8c
pop ecx
push dword [ebp - 0x100]
push ebp
lea eax, [ebp - 0x104]
call fcn.00475ff4
pop ecx
push dword [ebp - 0x104]
lea eax, [ebp - 0xcc]
mov edx, 3
call fcn.004051f8
mov eax, dword [0x59411c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47c938
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
cmp byte [eax], 4
jne 0x47c926
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
mov ebx, dword [eax + 5]
xor edx, edx
mov eax, dword [0x59411c]
call fcn.0047f788
cmp ebx, dword [eax + 5]
jne 0x47c926
push dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
lea edx, [eax + 0x59]
lea eax, [ebp - 0x108]
call fcn.004050c0
push dword [ebp - 0x108]
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
lea edx, [eax + 0x159]
lea eax, [ebp - 0x10c]
call fcn.004050c0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
lea edx, [eax + 0x259]
lea eax, [ebp - 0x110]
call fcn.004050c0
push dword [ebp - 0x110]
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x59411c]
call fcn.0047f788
mov eax, dword [eax + 0x35d]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x114]
call fcn.0040c054
push dword [ebp - 0x114]
lea eax, [ebp - 0xcc]
mov edx, 5
call fcn.004051f8
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47c832
mov eax, dword [ebp - 0xcc]
call fcn.004430a4
movzx eax, ax
lea ecx, [ebp - 0x118]
mov edx, 4
call fcn.0040c07c
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0xcc]
call fcn.00404ef4
mov eax, 0x5a4940
mov edx, dword [ebp - 0xcc]
call fcn.00404eb0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x6c]
call fcn.0047feb8
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0xffffffff
je 0x47c9a4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047beb8
mov eax, dword [ebp - 0x6c]
call fcn.0047ffa4
xor eax, eax
push ebp
push 0x47cc20
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47ca29
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x47ca1b
push ebp
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047bf2c
pop ecx
test al, al
je 0x47ca1b
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_SuspendThread
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47c9d6
xor eax, eax
push ebp
push 0x47cc03
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47cb86
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x47cb74
push ebp
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047bf2c
pop ecx
test al, al
je 0x47cb74
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xe0]
mov edx, 0x10
mov eax, 0xcc
call fcn.00459d98
mov dword [ebp - 0xdc], eax
xor eax, eax
push ebp
push 0x47cb6d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xdc]
mov dword [eax], 0x10003
mov eax, dword [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetThreadContext
test eax, eax
je 0x47cb54
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xb8], 0
je 0x47cb54
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xc4], 0
je 0x47cb54
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
push eax
push 1
push 1
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov al, byte [0x47d634]
push eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [0x59411c]
call fcn.00466ae8
mov eax, dword [ebp - 0xc8]
call fcn.0047beb8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cb74
mov eax, dword [ebp - 0xe0]
call fcn.00402c24
ret
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47ca57
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cc0a
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47cc02
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x47cbf4
push ebp
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047bf2c
pop ecx
test al, al
je 0x47cbf4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax + 4]
push eax
call fcn.00407b78
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47cbaf
ret
mov dword [0x5a47f4], 5
cmp byte [ebp + 8], 2
je 0x47d498
mov eax, dword [ebp - 0x6c]
call fcn.0047ffa4
xor edx, edx
push ebp
push 0x47d430
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47ccd7
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov ebx, dword [eax]
call sub.kernel32.dll_GetCurrentThreadId_1
cmp ebx, eax
je 0x47ccc9
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x47ccc9
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047bf8c
test al, al
je 0x47ccc9
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_SuspendThread
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47cc6d
xor edx, edx
push ebp
push 0x47d410
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [0x5a47f4], 6
mov byte [0x5a4961], 1
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f0], 0x10
je 0x47cd0e
call fcn.0045fb84
call fcn.004604f4
mov dword [0x5a47f4], 7
mov eax, dword [0x59411c]
mov dword [0x5a49a4], eax
mov eax, dword [0x5a46b8]
mov dword [0x5a49a8], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x5a4994], eax
mov eax, dword [ebp - 0x20]
mov dword [0x5a4998], eax
mov dword [0x5a47f4], 0x2be
push ebp
call fcn.004797f4
pop ecx
cmp byte [0x593be4], 0
je 0x47cd8c
mov eax, 0x5a4784
mov ecx, dword [0x5a4784]
mov edx, dword [ebp - 0x38]
call fcn.00405184
mov byte [0x593be4], 0
call fcn.0040485c
call fcn.0040485c
call fcn.0040485c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d543
mov eax, 0x5a499c
mov edx, dword [0x5a4784]
call fcn.00404eb0
mov dword [0x5a47f4], 0x2bf
mov eax, dword [0x594114]
mov dword [0x5a49a0], eax
mov dword [0x5a47f4], 0x2c0
mov dword [0x5a4780], 0x5a4988
mov al, 1
call fcn.004634e8
mov dword [0x5a47f4], 0x2c1
call fcn.0045e5e8
mov dword [0x5a47f4], 0x2c2
push ebp
call fcn.0047bfe4
pop ecx
call fcn.00460998
test al, al
je 0x47ce20
lea eax, [ebp - 0x120]
call fcn.00463978
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x11c]
call fcn.00463c94
mov edx, dword [ebp - 0x11c]
mov eax, 0x5a4720
call fcn.00404eb0
mov eax, 0x5a5060
mov edx, dword [0x5a4720]
call fcn.00404eb0
push ebp
call fcn.0047bd88
pop ecx
test al, al
je 0x47ce45
mov eax, 0x466ebc
call fcn.00465100
cmp byte [ebp - 0x21], 0
jne 0x47ce57
mov eax, 0x463fa8
call fcn.00465100
jmp 0x47ce61
mov eax, 0x464078
call fcn.00465100
mov dword [0x5a47f4], 8
cmp byte [0x5a4961], 0
je 0x47d375
call fcn.00470584
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x324], 0
je 0x47ced6
call fcn.0040e610
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x124]
call fcn.0042f2f8
mov edx, dword [ebp - 0x124]
mov eax, dword [0x5a47e8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a47e8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [0x5a46b8]
cmp eax, dword [edx + 0x328]
jle 0x47ced6
xor edx, edx
mov eax, dword [0x5a47e8]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x5a49c4]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, 0x4644a0
call fcn.00465100
mov eax, dword [0x5a49c4]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x47cf2b
mov eax, dword [0x5a46b8]
test byte [eax + 0x69], 0x80
je 0x47cf2b
lea ecx, [ebp - 0x128]
mov dl, 0x5b
mov eax, dword [0x5a46b8]
call fcn.004312b0
mov edx, dword [ebp - 0x128]
mov ecx, dword [0x5a49c4]
mov eax, 7
call fcn.00467adc
mov dword [0x5a47f4], 9
inc dword [0x5a46c4]
mov dword [0x5a47f4], 0xa
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x2c]
call fcn.004758a4
mov eax, dword [ebp - 0x130]
lea edx, [ebp - 0x12c]
call fcn.00475510
mov edx, dword [ebp - 0x12c]
mov eax, 0x5a4778
call fcn.00404eb0
mov byte [ebp - 0xbb], 0
mov dword [0x5a47f4], 0xb
cmp byte [0x5a4945], 0
jne 0x47cf9b
mov eax, dword [0x5a46b8]
mov al, byte [eax + 0x6a]
mov byte [0x5a4944], al
lea eax, [ebp - 0x140]
call fcn.00468ed0
lea esi, [ebp - 0x140]
mov edi, 0x5a4c30
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [0x5a4944], 0
je 0x47d184
mov dword [0x5a47f4], 0xc
mov byte [0x5a4960], 1
call fcn.0045e5e8
mov eax, 0x4786e4
call fcn.00465100
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x30c], 0
jne 0x47d002
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x30d], 0
jne 0x47d002
xor eax, eax
jmp 0x47d004
mov al, 1
mov byte [0x5a4790], al
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f1], 0x10
setne al
mov byte [0x5a4792], al
mov byte [0x5a4791], 0
cmp byte [0x5a4960], 0
je 0x47d1e0
mov dword [0x5a47f4], 0xd
mov al, byte [ebp + 0x10]
call fcn.0047be74
sub al, 1
jb 0x47d0f3
je 0x47d084
dec al
jne 0x47d16e
call fcn.00460bd0
test al, al
je 0x47d067
cmp dword [0x5a4730], 0
je 0x47d078
push ebp
mov eax, dword [0x5a4784]
call fcn.0047bba8
pop ecx
jmp 0x47d16e
mov byte [ebp - 0xb9], 1
jmp 0x47d16e
xor eax, eax
push ebp
push 0x47d0d4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x144]
mov ecx, dword [0x5a4784]
mov edx, dword [ebp - 0x38]
call fcn.00405184
mov edx, dword [ebp - 0x144]
mov eax, dword [0x59ff90]
call fcn.00405554
call fcn.00403998
call fcn.00402dd0
mov byte [0x5a4960], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d16e
xor edx, edx
push ebp
push 0x47d151
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x5a4944], 3
sete byte [ebp - 0xbb]
mov byte [0x5a4c1d], 0
cmp byte [0x5a4944], 0
setne al
call fcn.0046f558
xor eax, eax
cmp byte [0x5a4944], 0
je 0x47d137
mov byte [0x5a4c1d], 1
cmp byte [0x5a4944], 0
jne 0x47d120
mov byte [0x5a4960], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47d16e
mov dword [0x5a47f4], 0xe
mov eax, 0x478708
call fcn.00465100
jmp 0x47d1e0
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x30c], 0
jne 0x47d1a4
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x30d], 0
jne 0x47d1a4
xor eax, eax
jmp 0x47d1a6
mov al, 1
mov byte [0x5a4790], al
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f1], 0x10
setne al
mov byte [0x5a4792], al
call fcn.00460bdc
test al, al
je 0x47d1e0
push ebp
lea eax, [ebp - 0x148]
call fcn.00467044
mov eax, dword [ebp - 0x148]
call fcn.0047bba8
pop ecx
cmp byte [ebp - 0xbb], 0
je 0x47d1ee
call fcn.00468310
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f0], 2
je 0x47d229
lea ecx, [ebp - 0x14c]
mov dl, 0x7b
mov eax, dword [0x5a46b8]
call fcn.004312b0
mov edx, dword [ebp - 0x14c]
mov eax, dword [0x5a46b8]
mov ecx, dword [eax + 0x344]
mov eax, 7
call fcn.00467980
call fcn.0047bd48
test al, al
je 0x47d248
lea eax, [ebp - 0x150]
call fcn.00463750
mov eax, dword [ebp - 0x150]
call fcn.00470c68
call fcn.00470cf8
mov dword [0x5a47f4], 0xf
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f0], 4
je 0x47d30e
call fcn.00463400
xor eax, eax
push ebp
push 0x47d2b2
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [0x5a49d4]
call fcn.0044d720
mov ecx, eax
dec ecx
mov edx, 0x47d65c
mov eax, dword [0x5a49d4]
call fcn.0044d4ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d2b9
call fcn.004634cc
ret
call fcn.0047bd48
mov byte [ebp - 0xba], al
mov eax, dword [0x5a46b8]
cmp byte [eax + 0x2ef], 0
je 0x47d32c
call fcn.004783d4
cmp byte [0x5a4793], 0
je 0x47d33f
mov eax, dword [0x5a4784]
call fcn.0045eb4c
mov dword [0x5a47f4], 0x10
cmp byte [ebp - 0xba], 0
je 0x47d357
call fcn.004746c4
cmp byte [ebp - 0xba], 0
je 0x47d36e
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f1], 0x80
jne 0x47d37c
call fcn.00474718
jmp 0x47d37c
mov byte [ebp - 0xb9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d41a
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x47d40f
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov ebx, dword [eax]
call sub.kernel32.dll_GetCurrentThreadId_1
cmp ebx, eax
je 0x47d401
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x47d401
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
call fcn.0047bf8c
test al, al
je 0x47d401
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
call fcn.0047ff30
mov eax, dword [eax + 4]
push eax
call fcn.00407b78
inc dword [ebp - 0xc0]
dec dword [ebp - 0xe4]
jne 0x47d3a5
ret
mov eax, dword [0x5a46b8]
test byte [eax + 0x331], 0x80
je 0x47d4bf
mov byte [ebp - 0xb9], 1
jmp 0x47d4bf
cmp byte [ebp - 0xc1], 1
jne 0x47d4bf
mov byte [ebp - 0xb9], 1
mov dword [0x5a47f4], 0x12
cmp byte [ebp + 8], 2
je 0x47d4eb
cmp byte [ebp - 0xba], 0
je 0x47d4e6
mov eax, dword [0x5a46b8]
test byte [eax + 0x2f1], 0x80
jne 0x47d4eb
call fcn.00474828
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d514
mov eax, dword [ebp - 0x6c]
call fcn.00403f0c
call fcn.00407440
mov byte [eax + 0x181], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d5dc
lea eax, [ebp - 0x160]
mov edx, 8
call fcn.00404e80
lea eax, [ebp - 0x130]
mov edx, 0x13
call fcn.00404e80
lea eax, [ebp - 0xd8]
call fcn.00404e5c
lea eax, [ebp - 0xcc]
call fcn.00404e5c
lea eax, [ebp - 0xb8]
call fcn.00404e5c
lea eax, [ebp - 0x78]
call fcn.00404e5c
lea eax, [ebp - 0x68]
call fcn.00404e5c
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.00404e80
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.00404e80
lea eax, [ebp - 0x30]
call fcn.00404e5c
lea eax, [ebp - 0x21]
mov edx, dword [0x459f40]
call fcn.004059a0
ret