Function at 0x1002e030
Capabilities:
Hash data with md5
Link many functions at runtime
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x238
mov eax, dword [0x1005500c]
xor eax, esp
mov dword [esp + 0x234], eax
cmp byte [0x10055354], 0
push esi
push edi
mov esi, edx
mov edi, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], edi
je 0x1002e076
push dword [0x10055358]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1002ee62
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x378]
call eax
mov esi, eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x1002ee62
mov ax, word [0x100563ac]
test ax, ax
jne 0x1002e0ab
mov ecx, 0xffe7ccf7
call fcn.1002bf00
mov word [0x100563ac], ax
mov ecx, dword [esp + 0x10]
movzx eax, ax
mov eax, dword [eax + ecx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10050430]
mov eax, dword [0x1005630c]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x1c]
mov ax, word [0x100563d0]
movss dword [esp + 0x14], xmm0
test ax, ax
jne 0x1002e0f8
mov ecx, 0x27096c5
call fcn.1002bf00
mov word [0x100563d0], ax
movss xmm1, dword [esp + 0x14]
movzx eax, ax
movss xmm0, dword [eax + esi]
comiss xmm0, xmm1
jae 0x1002ee62
mov ax, word [0x10056394]
test ax, ax
jne 0x1002e130
mov ecx, 0xd33e5b6e
call fcn.1002bf00
movss xmm1, dword [esp + 0x14]
mov word [0x10056394], ax
mov ecx, dword [esp + 0x10]
movzx eax, ax
movss xmm0, dword [eax + ecx]
comiss xmm0, xmm1
jae 0x1002ee62
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10055d50]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x1005638c]
mov dword [esp + 0x28], esi
cmp eax, dword [esi + 4]
jle 0x1002e1a6
push 0x1005638c
call fcn.100402ff
add esp, 4
cmp dword [0x1005638c], 0xffffffff
jne 0x1002e1a6
mov edx, str.0F_B7_81_________50_E8_________83_C4_04_C3
mov ecx, str.client.dll
call fcn.100400a0
push 0x1005638c
mov dword [0x100563c0], eax
mov dword [0x100563c4], 0
call fcn.100402b5
add esp, 4
mov eax, dword [0x100563c0]
mov ecx, dword [esp + 0x2c]
call eax
mov dword [esp + 0x38], eax
test eax, eax
je 0x1002ee62
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov edx, dword [eax]
mov edx, dword [edx + 0x5e8]
call edx
cmp dword [ebp + 8], 0xffffffff
movzx edi, byte [edi + 0x34]
cmovne edi, dword [ebp + 8]
mov eax, dword [0x10056498]
cmp eax, dword [esi + 4]
jle 0x1002e225
push 0x10056498
call fcn.100402ff
add esp, 4
cmp dword [0x10056498], 0xffffffff
jne 0x1002e225
push str.RandomSeed
push str.vstdlib.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x10056498
mov dword [0x100564a0], eax
call fcn.100402b5
add esp, 4
lea eax, [edi + 1]
push eax
call dword [0x100564a0]
mov eax, dword [0x100564a4]
add esp, 4
cmp eax, dword [esi + 4]
jle 0x1002e282
push 0x100564a4
call fcn.100402ff
add esp, 4
cmp dword [0x100564a4], 0xffffffff
jne 0x1002e282
push str.RandomFloat
push str.vstdlib.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push 0x100564a4
mov dword [0x100564a8], eax
call fcn.100402b5
add esp, 4
jmp 0x1002e288
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
mov dword [esp], 0
call dword [0x100564a8]
mov ecx, dword [esp + 0x34]
add esp, 8
fstp dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5e0]
mov dword [esp + 0xc], eax
call dword [esp + 0xc]
mov eax, dword [0x100564a4]
fstp dword [esp + 0xc]
cmp eax, dword [esi + 4]
jle 0x1002e307
push 0x100564a4
call fcn.100402ff
add esp, 4
cmp dword [0x100564a4], 0xffffffff
jne 0x1002e307
push str.RandomFloat
push str.vstdlib.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call edi
push 0x100564a4
mov dword [0x100564a8], eax
call fcn.100402b5
add esp, 4
movss xmm0, dword [esp + 0xc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call dword [0x100564a8]
movss xmm0, dword [esp + 0x1c]
add esp, 8
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
lea esi, [esp + 0x1b8]
mov edi, 0x10
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x40], xmm0
mov ecx, esi
call fcn.1002a6b0
add esi, 8
sub edi, 1
jne 0x1002e372
mov ax, word [0x100563b8]
test ax, ax
jne 0x1002e39c
mov ecx, 0xfc40137f
call fcn.1002bf00
mov word [0x100563b8], ax
mov edi, dword [esp + 0x10]
movzx esi, ax
mov ax, word [0x100563d4]
test ax, ax
jne 0x1002e3be
mov ecx, 0x4ee6d885
call fcn.1002bf00
mov word [0x100563d4], ax
movss xmm0, dword [esi + edi]
movss xmm2, dword [esi + edi + 4]
movss xmm1, dword [esi + edi + 8]
movzx eax, ax
addss xmm0, dword [eax + edi]
addss xmm2, dword [eax + edi + 4]
addss xmm1, dword [eax + edi + 8]
mov eax, dword [esp + 0x30]
add eax, 0xc
movss dword [esp + 0x114], xmm0
mov dword [esp + 0x68], eax
movss dword [esp + 0x118], xmm2
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0xb4], eax
mov ax, word [0x100563a8]
movss dword [esp + 0x11c], xmm1
movq qword [esp + 0xac], xmm0
test ax, ax
jne 0x1002e43b
mov ecx, 0x4151f546
call fcn.1002bf00
mov word [0x100563a8], ax
movzx esi, ax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], 0
movss xmm1, dword [esi + edi + 4]
cmp dword [eax + 0x894], 0
jle 0x1002ee62
movss xmm0, dword [esp + 0xb0]
addss xmm1, xmm1
subss xmm0, xmm1
mulss xmm0, dword [0x1004fe4c]
movss dword [esp + 0xc], xmm0
call fcn.100020d0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10002090
movss xmm1, dword [esi + edi]
addss xmm1, xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0xac]
subss xmm0, xmm1
mulss xmm0, dword [0x1004fe4c]
movss dword [esp + 0xc], xmm0
call fcn.100020d0
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10002090
movss xmm1, dword [esi + edi + 8]
addss xmm1, xmm1
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, xmm1
mulss xmm0, dword [0x1004fe4c]
movss dword [esp + 0x18], xmm0
call fcn.100020d0
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x18]
call fcn.10002090
movss xmm5, dword [esp + 0x34]
movaps xmm2, xmm0
movss xmm1, dword [esp + 0xc]
movaps xmm3, xmm5
mulss xmm1, dword [esp + 0x1c]
xorps xmm3, xmmword [0x10050480]
movss xmm7, dword [esp + 0x24]
movss xmm4, dword [esp + 0x20]
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x4c], xmm1
movaps xmm1, xmm4
movss dword [esp + 0x58], xmm3
movaps xmm3, xmm2
mulss xmm3, dword [0x1004ff90]
mulss xmm1, xmm5
mulss xmm0, xmm7
movss dword [esp + 0x24], xmm3
movss xmm3, dword [esp + 0x1c]
xorps xmm3, xmmword [0x10050480]
movss dword [esp + 0x44], xmm0
movaps xmm6, xmm3
mulss xmm6, dword [esp + 0x24]
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x1c]
mulss xmm0, xmm7
movss dword [esp + 0x18], xmm2
mulss xmm3, xmm4
subss xmm6, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm7
movss dword [esp + 0x34], xmm6
movaps xmm6, xmm0
subss xmm6, xmm1
movss dword [esp + 0x24], xmm0
movaps xmm1, xmm4
movss xmm0, dword [esp + 0x18]
mulss xmm1, dword [0x1004ff90]
mulss xmm4, xmm7
mulss xmm1, dword [esp + 0xc]
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x54], xmm1
movaps xmm1, xmm2
mulss xmm1, xmm5
movaps xmm2, xmm1
mulss xmm1, dword [esp + 0x1c]
mulss xmm2, xmm7
subss xmm1, xmm4
subss xmm2, xmm3
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x48], xmm2
mulss xmm0, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
movss dword [esp + 0x18], xmm0
nop
mov eax, dword [0x100564a4]
cmp eax, dword [esi + 4]
jle 0x1002e66c
push 0x100564a4
call fcn.100402ff
add esp, 4
cmp dword [0x100564a4], 0xffffffff
jne 0x1002e66c
push str.RandomFloat
push str.vstdlib.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100564a4
mov dword [0x100564a8], eax
call fcn.100402b5
add esp, 4
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
mov dword [esp], 0
call dword [0x100564a8]
mov ecx, dword [esp + 0x34]
add esp, 8
fstp dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5e4]
mov dword [esp + 0x20], eax
call dword [esp + 0x20]
mov eax, dword [0x100564a4]
fstp dword [esp + 0x20]
cmp eax, dword [esi + 4]
jle 0x1002e6ef
push 0x100564a4
call fcn.100402ff
add esp, 4
cmp dword [0x100564a4], 0xffffffff
jne 0x1002e6ef
push str.RandomFloat
push str.vstdlib.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100564a4
mov dword [0x100564a8], eax
call fcn.100402b5
add esp, 4
movss xmm0, dword [esp + 0x20]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call dword [0x100564a8]
movss xmm0, dword [esp + 0x14]
add esp, 8
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x1c]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
mov eax, dword [esp + 0x14]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x1c]
cvtps2pd xmm0, xmm0
movss dword [esp + eax*8 + 0x1b8], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
mov eax, dword [esp + 0x14]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0x3c]
movss xmm5, dword [esp + 0x34]
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm2, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x24]
movss xmm3, dword [esp + 0x54]
movss dword [esp + eax*8 + 0x1bc], xmm2
addss xmm1, dword [esp + eax*8 + 0x1b8]
addss xmm2, dword [esp + 0x40]
mulss xmm5, xmm1
mulss xmm0, xmm2
addss xmm5, dword [esp + 0x44]
mulss xmm4, xmm1
mulss xmm3, xmm1
addss xmm4, dword [esp + 0x4c]
addss xmm5, xmm0
movss xmm0, dword [esp + 0x50]
addss xmm3, dword [esp + 0x58]
mulss xmm0, xmm2
movss dword [esp + 0x20], xmm5
addss xmm4, xmm0
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm2
addss xmm3, xmm0
movss dword [esp + 0xc], xmm4
movaps xmm1, xmm4
movaps xmm0, xmm5
mulss xmm0, xmm5
mulss xmm1, xmm4
movss dword [esp + 0x1c], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1002e812
sqrtsd xmm0, xmm0
jmp 0x1002e817
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [0x1004feb0]
cvtsd2ss xmm0, xmm0
mov byte [esp + 0x15d], 1
movss xmm7, dword [0x1004ff7c]
addss xmm0, dword [0x1004fe30]
movss xmm5, dword [esp + 0x114]
movss xmm6, dword [esp + 0x118]
divss xmm1, xmm0
movaps xmm2, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x20]
mulss xmm2, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm0
movaps xmm3, xmm2
mulss xmm0, xmm7
mulss xmm3, xmm7
movaps xmm4, xmm1
addss xmm0, xmm5
mulss xmm4, xmm7
movss xmm7, dword [esp + 0x11c]
addss xmm3, xmm6
movss dword [esp + 0x60], xmm1
movss dword [esp + 0x5c], xmm2
addss xmm4, xmm7
movaps xmm2, xmm0
movss dword [esp + 0xc], xmm0
subss xmm2, xmm5
movaps xmm1, xmm3
movss dword [esp + 0x1c], xmm3
subss xmm1, xmm6
movaps xmm0, xmm4
movss dword [esp + 0x64], xmm4
subss xmm0, xmm7
movss dword [esp + 0x130], xmm2
mulss xmm2, xmm2
movss dword [esp + 0x134], xmm1
mulss xmm1, xmm1
movss dword [esp + 0x138], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x1002e90c
mov byte [esp + 0x15d], 0
push 0x30
lea eax, [esp + 0xe0]
mov dword [esp + 0x15c], 0
push 0
push eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x15c], 0
mov byte [esp + 0x168], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0
movss dword [esp + 0x12c], xmm5
movss dword [esp + 0x130], xmm6
movss dword [esp + 0x134], xmm7
mov dword [esp + 0xb8], 0x1004db98
mov dword [esp + 0xbc], edi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x1005631c]
lea edx, [esp + 0xc4]
add esp, 0xc
mov dword [esp + 0xc0], 0x7f800000
mov dword [esp + 0xbc], 0x7f800000
mov dword [esp + 0xb8], 0x7f800000
mov dword [esp + 0xcc], 0x7f800000
push edx
mov dword [esp + 0xcc], 0x7f800000
lea edx, [esp + 0xb0]
mov dword [esp + 0xc8], 0x7f800000
mov dword [esp + 0xdc], 0x7f800000
mov dword [esp + 0xd8], 0x7f800000
mov dword [esp + 0xd4], 0x7f800000
mov eax, dword [ecx]
push edx
push 0x4600400b
lea edx, [esp + 0x12c]
mov eax, dword [eax + 0x10]
push edx
call eax
movss xmm1, dword [0x1004ff28]
movss xmm0, dword [esp + 0x20]
mulss xmm0, xmm1
mov eax, dword [0x100564ac]
addss xmm0, dword [esp + 0xc]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x5c]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x60]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x64]
movss dword [esp + 0x74], xmm0
cmp eax, dword [esi + 4]
jle 0x1002eab2
push 0x100564ac
call fcn.100402ff
add esp, 4
cmp dword [0x100564ac], 0xffffffff
jne 0x1002eab2
mov edx, str.53_8B_DC_83_EC_08_83_E4_F0_83_C4_04_55_8B_6B_04_89_6C_24_04_8B_EC_81_EC_________8B_43_18
mov ecx, str.client.dll
call fcn.100400a0
push 0x100564ac
mov dword [0x1005649c], eax
call fcn.100402b5
add esp, 4
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xb0]
push eax
push 0x4600400b
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x124]
push eax
call dword [0x1005649c]
movss xmm0, dword [esp + 0xf8]
add esp, 0x14
ucomiss xmm0, dword [0x1004feb0]
lahf
test ah, 0x44
jnp 0x1002ee49
mov edi, dword [esp + 0x104]
test edi, edi
je 0x1002ee45
mov ax, word [0x10056390]
test ax, ax
jne 0x1002eb21
mov ecx, 0x19222c70
call fcn.1002bf00
mov word [0x10056390], ax
movzx eax, ax
cmp byte [eax + edi], 1
je 0x1002ee45
cmp byte [0x10055361], 0
jne 0x1002eb83
mov ax, word [0x10056398]
test ax, ax
jne 0x1002eb52
mov ecx, 0x6e693e43
call fcn.1002bf00
mov word [0x10056398], ax
movzx esi, ax
test ax, ax
jne 0x1002eb6a
mov ecx, 0x6e693e43
call fcn.1002bf00
mov word [0x10056398], ax
movzx ecx, ax
mov eax, dword [esi + edi]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
cmp eax, dword [ecx + edi]
je 0x1002ee49
jmp 0x1002eb87
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xfc]
xor al, al
mov edx, 1
cmp byte [0x1005535c], al
je 0x1002eba5
cmp ecx, edx
movzx eax, al
cmove eax, edx
cmp byte [0x1005535d], 0
je 0x1002ebb7
cmp ecx, 2
movzx eax, al
cmove eax, edx
cmp byte [0x1005535e], 0
je 0x1002ebc9
cmp ecx, 3
movzx eax, al
cmove eax, edx
cmp byte [0x1005535f], 0
je 0x1002ebde
cmp ecx, 4
je 0x1002ebdc
cmp ecx, 5
jne 0x1002ebde
mov al, 1
cmp byte [0x10055360], 0
je 0x1002ebf1
cmp ecx, 6
je 0x1002ebf9
cmp ecx, 7
je 0x1002ebf9
test al, al
je 0x1002ee49
mov edi, dword [ebp + 8]
cmp edi, 0xffffffff
je 0x1002ed3c
mov ecx, dword [esp + 0x30]
mov eax, edi
and eax, 0x7fffffff
xor esi, esi
mov dword [ecx + 0x34], eax
push 0x40
lea eax, [esp + 0x17c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x20
mov dword [esp + 0x16c], 0x67452301
mov dword [esp + 0x17c], eax
lea ecx, [esp + 0x184]
shr eax, 3
mov edx, 0x3f
and eax, 0x3f
mov dword [esp + 0x170], 0xefcdab89
add ecx, eax
mov dword [esp + 0x174], 0x98badcfe
mov dword [esp + 0x178], 0x10325476
sub edx, eax
mov dword [esp + 0x180], 0
add esp, 0xc
mov dword [esp + 0x178], esi
mov byte [ecx], 0x80
inc ecx
cmp edx, 8
jae 0x1002ecbf
push edx
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea edx, [esp + 0x178]
lea ecx, [esp + 0x160]
call fcn.10033830
push 0x38
push 0
lea eax, [esp + 0x180]
push eax
jmp 0x1002ecc6
lea eax, [edx - 8]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x17c]
lea edx, [esp + 0x184]
add esp, 0xc
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x174]
lea ecx, [esp + 0x160]
mov dword [esp + 0x1b4], eax
call fcn.10033830
movups xmm0, xmmword [esp + 0x160]
push 0x58
lea eax, [esp + 0x164]
push 0
push eax
movups xmmword [esp + 0x9c], xmm0
call sub.VCRUNTIME140.dll_memset
movzx eax, byte [esp + 0xa2]
add esp, 0xc
cmp eax, edi
je 0x1002ed33
inc esi
jmp 0x1002ec15
mov eax, dword [esp + 0x30]
mov dword [eax + 4], esi
jmp 0x1002ed40
mov eax, dword [esp + 0x30]
or dword [eax + 0x24], 1
cmp byte [0x10055340], 0
je 0x1002ee41
cmp byte [0x10055347], 0
je 0x1002edd7
mov ecx, dword [0x100562fc]
lea edx, [esp + 0x78]
push ecx
mov dword [esp], 0x40800000
push 0x7f
mov eax, dword [ecx]
push 0
push 0
push 0xff
push dword [esp + 0x7c]
mov dword [esp + 0x90], 0x40000000
push edx
lea edx, [esp + 0xa0]
mov dword [esp + 0x98], 0x40000000
push edx
lea edx, [esp + 0xe4]
mov dword [esp + 0xa0], 0x40000000
push edx
mov dword [esp + 0xa8], 0xc0000000
mov dword [esp + 0xac], 0xc0000000
mov dword [esp + 0xb0], 0xc0000000
call dword [eax + 4]
cmp byte [0x10055346], 0
mov esi, dword [esp + 0x28]
je 0x1002ee45
mov eax, dword [0x1005640c]
cmp eax, dword [esi + 4]
jle 0x1002ee28
push 0x1005640c
call fcn.100402ff
add esp, 4
cmp dword [0x1005640c], 0xffffffff
jne 0x1002ee28
mov edx, str.55_8B_EC_83_EC_60_57
mov ecx, str.client.dll
call fcn.100400a0
push 0x1005640c
mov dword [0x10056414], eax
call fcn.100402b5
add esp, 4
push 0
push ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp], 0x40800000
call dword [0x10056414]
jmp 0x1002ee45
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x894]
jl 0x1002e620
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
xor ecx, esp
call fcn.100401be
mov esp, ebp
pop ebp
ret