Function at 0x402770
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4241ee
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x12c8
call fcn.0040cbb0
mov eax, dword [0x430080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x113c], 0
xorps xmm0, xmm0
movq qword [ebp - 0x1144], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x7578bb79
mov dword [ebp - 0x114c], 0xed588952
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x119c], ecx
mov dword [ebp - 0x11a0], eax
mov dword [ebp - 0x1150], 0x308e99e7
mov dword [ebp - 0x114c], 0x55292824
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1194], ecx
mov dword [ebp - 0x1198], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11a0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11a0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11a0], xmm1
movups xmmword [ebp - 0x12d0], xmm0
mov dword [ebp - 0x12c0], 0
mov dword [ebp - 0x12bc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028b6
sub ecx, edx
lea eax, [ebp - 0x11a0]
push ecx
push eax
lea ecx, [ebp - 0x12d0]
call fcn.0040a860
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x6563ac67
mov dword [ebp - 0x114c], 0x855f9b43
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11ac], ecx
mov dword [ebp - 0x11b0], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11a4], ecx
mov dword [ebp - 0x11a8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11b0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11b0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11b0], xmm1
movups xmmword [ebp - 0x12b8], xmm0
mov dword [ebp - 0x12a8], 0
mov dword [ebp - 0x12a4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4029c5
sub ecx, edx
lea eax, [ebp - 0x11b0]
push ecx
push eax
lea ecx, [ebp - 0x12b8]
call fcn.0040a860
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x7b63ac67
mov dword [ebp - 0x114c], 0x852b9458
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11bc], ecx
mov dword [ebp - 0x11c0], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11b4], ecx
mov dword [ebp - 0x11b8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11c0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11c0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11c0], xmm1
movups xmmword [ebp - 0x12a0], xmm0
mov dword [ebp - 0x1290], 0
mov dword [ebp - 0x128c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ad1
sub ecx, edx
lea eax, [ebp - 0x11c0]
push ecx
push eax
lea ecx, [ebp - 0x12a0]
call fcn.0040a860
mov byte [ebp - 4], 2
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x6067aa7d
mov dword [ebp - 0x114c], 0x855c9f5e
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11cc], ecx
mov dword [ebp - 0x11d0], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11c4], ecx
mov dword [ebp - 0x11c8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11d0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11d0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11d0], xmm1
movups xmmword [ebp - 0x1288], xmm0
mov dword [ebp - 0x1278], 0
mov dword [ebp - 0x1274], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402be0
sub ecx, edx
lea eax, [ebp - 0x11d0]
push ecx
push eax
lea ecx, [ebp - 0x1288]
call fcn.0040a860
mov byte [ebp - 4], 3
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x7365a07e
mov dword [ebp - 0x114c], 0xf74a9244
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11dc], ecx
mov dword [ebp - 0x11e0], eax
mov dword [ebp - 0x1150], 0x55e5faed
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11d4], ecx
mov dword [ebp - 0x11d8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11e0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11e0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11e0], xmm1
movups xmmword [ebp - 0x1270], xmm0
mov dword [ebp - 0x1260], 0
mov dword [ebp - 0x125c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402cf0
sub ecx, edx
lea eax, [ebp - 0x11e0]
push ecx
push eax
lea ecx, [ebp - 0x1270]
call fcn.0040a860
mov byte [ebp - 4], 4
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x737ba06f
mov dword [ebp - 0x114c], 0x8545955a
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11ec], ecx
mov dword [ebp - 0x11f0], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11e4], ecx
mov dword [ebp - 0x11e8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x11f0]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x11f0]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x11f0], xmm1
movups xmmword [ebp - 0x1258], xmm0
mov dword [ebp - 0x1248], 0
mov dword [ebp - 0x1244], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402e00
sub ecx, edx
lea eax, [ebp - 0x11f0]
push ecx
push eax
lea ecx, [ebp - 0x1258]
call fcn.0040a860
mov byte [ebp - 4], 5
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x7b70ac7b
mov dword [ebp - 0x114c], 0x852b9458
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11fc], ecx
mov dword [ebp - 0x1200], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x11f4], ecx
mov dword [ebp - 0x11f8], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x1200]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x1200]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x1200], xmm1
movups xmmword [ebp - 0x1240], xmm0
mov dword [ebp - 0x1230], 0
mov dword [ebp - 0x122c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402f10
sub ecx, edx
lea eax, [ebp - 0x1200]
push ecx
push eax
lea ecx, [ebp - 0x1240]
call fcn.0040a860
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov dword [ebp - 0x1150], 0x787ea86a
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x120c], ecx
mov dword [ebp - 0x1210], eax
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1204], ecx
mov dword [ebp - 0x1208], eax
mov dword [ebp - 0x1150], 0x1617c909
mov dword [ebp - 0x114c], 0x852bfa37
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1150], 0x55e5fa86
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x114c], 0x55292856
mov eax, dword [ebp - 0x1150]
mov ecx, dword [ebp - 0x114c]
movaps xmm1, xmmword [ebp - 0x1210]
mov dword [ebp - 0x1164], ecx
lea ecx, [ebp - 0x1210]
mov dword [ebp - 0x1168], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x1170]
movaps xmmword [ebp - 0x1210], xmm1
movups xmmword [ebp - 0x1228], xmm0
mov dword [ebp - 0x1218], 0
mov dword [ebp - 0x1214], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403020
sub ecx, edx
lea eax, [ebp - 0x1210]
push ecx
push eax
lea ecx, [ebp - 0x1228]
call fcn.0040a860
lea ecx, [ebp - 0x12d0]
mov dword [ebp - 4], 7
push ecx
lea eax, [ebp - 0x1210]
push eax
push ecx
lea ecx, [ebp - 0x1144]
call fcn.00408520
push 0x408aa0
push 8
push 0x18
lea eax, [ebp - 0x12d0]
mov byte [ebp - 4], 9
push eax
call fcn.0040bf95
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1160], eax
mov dword [ebp - 0x1178], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x1174], ecx
cmp ecx, esi
je 0x403185
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x403185
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
nop dword [eax + eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x1158], ecx
mov ecx, 0xc32ce6a0
dec edx
mov dword [ebp - 0x1154], ecx
mov dword [ebp - 0x1180], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403177
mov eax, dword [ebp - 0x1154]
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul esi, ecx, 0x1b873593
imul ecx, edx, 0x51000000
xor esi, eax
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
ror esi, 0x13
lea edx, [esi - 0x52250ec]
lea edx, [edx + edx*4]
xor edx, ecx
xor edx, 1
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
mov cl, byte [edi - 1]
imul eax, edx, 0x539
test cl, cl
jne 0x4030f1
mov edx, dword [ebp - 0x1180]
mov dword [ebp - 0x1154], eax
cmp dword [ebp - 0x1154], 0xc2d8029a
mov eax, dword [ebp - 0x1160]
je 0x40318c
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1158]
test edx, edx
jne 0x4030c0
mov eax, dword [eax]
jmp 0x403082
mov eax, dword [ebp - 0x1174]
mov esi, dword [ebp - 0x1178]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x1148]
push ecx
push 0x1000
lea ecx, [ebp - 0x1120]
add eax, esi
push ecx
call eax
test eax, eax
je 0x403796
mov eax, dword [ebp - 0x1148]
shr eax, 2
mov dword [ebp - 0x114c], eax
mov dword [ebp - 0x1180], 0
test eax, eax
je 0x403796
nop dword [eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1160], eax
mov dword [ebp - 0x117c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x1158], ecx
cmp ecx, esi
je 0x403304
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x403304
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x1178], ecx
mov ecx, 0xc1fbe1bd
dec edx
mov dword [ebp - 0x1154], ecx
mov dword [ebp - 0x1174], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4032f6
mov eax, dword [ebp - 0x1154]
nop word [eax + eax]
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul esi, ecx, 0x1b873593
imul ecx, edx, 0x51000000
xor esi, eax
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
ror esi, 0x13
lea edx, [esi - 0x52250ec]
lea edx, [edx + edx*4]
xor edx, ecx
xor edx, 1
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
mov cl, byte [edi - 1]
imul eax, edx, 0x539
test cl, cl
jne 0x403270
mov edx, dword [ebp - 0x1174]
mov dword [ebp - 0x1154], eax
cmp dword [ebp - 0x1154], 0x7d6d78d2
mov eax, dword [ebp - 0x1160]
je 0x40330b
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1178]
test edx, edx
jne 0x403235
mov eax, dword [eax]
jmp 0x4031fc
mov eax, dword [ebp - 0x1158]
mov esi, dword [ebp - 0x117c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x1180]
add eax, esi
push dword [ebp + ecx*4 - 0x1120]
push 0
push 0x410
call eax
mov dword [ebp - 0x1160], eax
test eax, eax
je 0x40377d
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x1174], ecx
mov dword [ebp - 0x1184], esi
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + esi + 0x78]
add eax, esi
mov dword [ebp - 0x1178], eax
cmp eax, esi
je 0x403464
mov edx, dword [eax + 0x18]
test edx, edx
je 0x403464
mov eax, dword [eax + 0x20]
lea eax, [eax + edx*4]
add eax, esi
mov edi, dword [eax - 4]
sub eax, 4
add edi, esi
mov dword [ebp - 0x117c], eax
mov eax, 0x547baa17
dec edx
mov dword [ebp - 0x1154], eax
mov dword [ebp - 0x1158], edx
mov al, byte [edi]
inc edi
test al, al
je 0x403456
mov ecx, dword [ebp - 0x1154]
nop word [eax + eax]
movsx edx, al
lea edi, [edi + 1]
imul eax, edx, 0xcc9e2d51
ror eax, 0x11
imul esi, eax, 0x1b873593
imul eax, edx, 0x51000000
xor esi, ecx
ror eax, 0x11
imul eax, eax, 0x1b873593
ror esi, 0x13
lea edx, [esi - 0x52250ec]
lea edx, [edx + edx*4]
xor edx, eax
xor edx, 1
mov eax, edx
shr eax, 0x10
xor eax, edx
imul edx, eax, 0x85ebca6b
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor edx, eax
mov al, byte [edi - 1]
imul ecx, edx, 0x539
test al, al
jne 0x4033d0
mov edx, dword [ebp - 0x1158]
mov dword [ebp - 0x1154], ecx
cmp dword [ebp - 0x1154], 0x96326188
mov ecx, dword [ebp - 0x1174]
je 0x40346b
mov esi, dword [ecx + 0x18]
mov eax, dword [ebp - 0x117c]
test edx, edx
jne 0x403394
mov ecx, dword [ecx]
jmp 0x40335b
mov eax, dword [ebp - 0x1178]
mov esi, dword [ebp - 0x1184]
push 0x104
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x120]
push ecx
push 0
push dword [ebp - 0x1160]
add eax, esi
call eax
test eax, eax
je 0x40365e
xorps xmm0, xmm0
mov dword [ebp - 0x1128], 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x1124], 0
movups xmmword [ebp - 0x1138], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4034d0
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x1138]
call fcn.0040a860
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0x1138]
cmp dword [ebp - 0x1124], 0xf
lea ecx, [ebp - 0x1138]
mov edx, dword [ebp - 0x1138]
seta al
mov dword [ebp - 0x1154], edx
cmova edi, edx
test al, al
mov eax, dword [ebp - 0x1128]
je 0x403525
mov esi, edx
add eax, edx
jmp 0x40352d
add eax, ecx
lea esi, [ebp - 0x1138]
mov dword [ebp - 0x1158], eax
cmp esi, eax
je 0x403564
sub edi, esi
nop dword [eax]
movsx eax, byte [esi]
push eax
call fcn.0041126d
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x1158]
jne 0x403540
mov edx, dword [ebp - 0x1138]
mov dword [ebp - 0x1154], edx
mov edi, dword [ebp - 0x1144]
cmp edi, dword [ebp - 0x1140]
je 0x40361e
mov eax, dword [ebp - 0x1124]
nop dword [eax]
mov esi, dword [edi + 0x10]
lea ecx, [ebp - 0x1138]
cmp eax, 0xf
cmova ecx, edx
cmp dword [edi + 0x14], 0xf
mov edx, edi
jbe 0x403599
mov edx, dword [edi]
cmp esi, dword [ebp - 0x1128]
jne 0x4035fc
sub esi, 4
jb 0x4035b7
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4035bc
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4035a6
cmp esi, 0xfffffffc
je 0x4035f0
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4035e9
cmp esi, 0xfffffffd
je 0x4035f0
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4035e9
cmp esi, 0xfffffffe
je 0x4035f0
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4035e9
cmp esi, 0xffffffff
je 0x4035f0
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4035f0
sbb eax, eax
or eax, 1
jmp 0x4035f2
xor eax, eax
test eax, eax
je 0x403612
mov eax, dword [ebp - 0x1124]
add edi, 0x18
cmp edi, dword [ebp - 0x1140]
je 0x40361e
mov edx, dword [ebp - 0x1154]
jmp 0x403580
cmp edi, dword [ebp - 0x1140]
jne 0x4037cc
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1124]
cmp eax, 0xf
jbe 0x40365e
mov ecx, dword [ebp - 0x1154]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x403654
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403930
push edx
push ecx
call fcn.0040bd5e
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1178], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x117c], ecx
cmp ecx, esi
je 0x403747
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x403747
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
dec edx
mov dword [ebp - 0x1184], ecx
mov edi, 0x4ee0958c
mov dword [ebp - 0x1158], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x403733
movsx esi, dl
lea ecx, [ecx + 1]
imul edx, esi, 0xcc9e2d51
ror edx, 0x11
imul edx, edx, 0x1b873593
xor edx, edi
ror edx, 0x13
add edx, 0xfaddaf14
lea edi, [edx + edx*4]
imul edx, esi, 0x51000000
ror edx, 0x11
imul edx, edx, 0x1b873593
xor edi, edx
xor edi, 1
mov edx, edi
shr edx, 0x10
xor edx, edi
imul esi, edx, 0x85ebca6b
mov edx, esi
shr edx, 0xd
xor edx, esi
imul esi, edx, 0xc2b2ae35
mov edx, esi
shr edx, 0x10
xor edx, esi
imul edi, edx, 0x539
mov dl, byte [ecx - 1]
test dl, dl
jne 0x4036c3
cmp edi, 0xe50a3065
je 0x40374e
mov esi, dword [eax + 0x18]
mov edx, dword [ebp - 0x1158]
mov ecx, dword [ebp - 0x1184]
test edx, edx
jne 0x4036a3
mov eax, dword [eax]
jmp 0x403670
mov esi, dword [ebp - 0x117c]
mov ecx, dword [ebp - 0x1158]
mov edx, dword [ebp - 0x1178]
push dword [ebp - 0x1160]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword [ebp - 0x1180]
inc ecx
mov dword [ebp - 0x1180], ecx
cmp ecx, dword [ebp - 0x114c]
jb 0x4031f0
mov byte [ebp - 0x1159], 0
lea ecx, [ebp - 0x1144]
call fcn.00409700
mov al, byte [ebp - 0x1159]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040bd16
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x117c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x1184], ecx
cmp ecx, esi
je 0x4038b8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4038b8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x114c], ecx
dec edx
mov esi, 0xd9a588d0
mov dword [ebp - 0x1158], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4038a7
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, esi
ror ecx, 0x13
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor esi, ecx
xor esi, 1
mov ecx, esi
shr ecx, 0x10
xor ecx, esi
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul esi, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x403834
cmp esi, 0x1725cae1
je 0x4038bf
mov edx, dword [ebp - 0x1158]
mov ecx, dword [ebp - 0x114c]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x403813
mov eax, dword [eax]
jmp 0x4037e0
mov esi, dword [ebp - 0x1184]
mov ecx, dword [ebp - 0x1158]
mov edx, dword [ebp - 0x117c]
push dword [ebp - 0x1160]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword [ebp - 0x1124]
cmp ecx, 0xf
jbe 0x403924
mov edx, dword [ebp - 0x1138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40391a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403930
push ecx
push edx
call fcn.0040bd5e
add esp, 8
mov byte [ebp - 0x1159], 1
jmp 0x40379d
call fcn.00410a4f
int3