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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
mov eax, dword [0x41d040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0x3e521c7a
push eax
sub esp, 8
mov dword [ebp - 0x5c], 0x3f9d0ab7
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x58], 0x94832641
mov dword [ebp - 0x54], 0xa06e5f6d
mov dword [ebp - 0x50], 0x602c7be1
mov dword [ebp - 0x4c], 0x3099c84f
mov dword [ebp - 0x48], 0x6a128bda
mov dword [ebp - 0x44], 0xf7a60472
mov dword [ebp - 0x18], 0x2bf18a3d
mov dword [ebp - 0x14], 0xc4d0976e
mov dword [ebp - 0x10], 0x8d10e65b
mov dword [ebp - 0xc], 0x9e4cfa72
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x1c], 0xe
call fcn.004011c0
mov ecx, eax
mov eax, 0x5a4d
mov dword [ebp - 0x34], ecx
cmp word [ecx], ax
jne 0x4045b2
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x30], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x38], ecx
cmp ecx, edx
je 0x40361b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40361b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x3c], ecx
dec ebx
mov esi, 0x4f4d50a9
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403610
nop dword [eax + eax]
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 0x4035a0
cmp esi, 0xe3f7e115
je 0x403622
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x3c]
test ebx, ebx
jne 0x403580
mov eax, dword [eax]
jmp 0x403553
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x64]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebx + 0x50]
push dword [ebx + 0x34]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
push dword [ebp - 0x2c]
add eax, edx
call eax
mov esi, eax
mov dword [ebp - 0x30], esi
test esi, esi
jne 0x40377e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x30], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x38], ecx
cmp ecx, edx
je 0x40373b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40373b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x3c], ecx
dec ebx
mov esi, 0xb2c91f8d
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403730
nop dword [eax + eax]
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 0x4036c0
cmp esi, 0xc7fe1229
je 0x403742
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x3c]
test ebx, ebx
jne 0x4036a0
mov eax, dword [eax]
jmp 0x403670
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x64]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebx + 0x50]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
push 0
push dword [ebp - 0x2c]
add eax, edx
call eax
mov esi, eax
mov dword [ebp - 0x30], eax
test esi, esi
je 0x4045af
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor edx, edx
movzx ecx, word [ebx + 0x14]
mov dword [ebp - 0x14], eax
add ecx, 0x24
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x3c], edx
cmp word [ebx + 6], ax
je 0x403a32
lea eax, [ecx + ebx]
mov dword [ebp - 0x38], eax
nop
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x4038ea
mov ecx, dword [eax]
mov eax, dword [eax + 8]
add ecx, esi
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x40], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x6c], ecx
cmp ecx, edx
je 0x4038ab
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4038ab
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x68], ecx
dec ebx
mov esi, 0xd1b52dc7
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4038a0
nop dword [eax + eax]
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 0x403830
cmp esi, 0xd2f2415c
je 0x4038b2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x68]
test ebx, ebx
jne 0x403810
mov eax, dword [eax]
jmp 0x4037e0
mov esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x40]
push 0
push dword [ebp - 0x24]
mov eax, dword [esi + 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x2c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
test eax, eax
je 0x40390b
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x64]
add eax, 0x28
inc edx
mov dword [ebp - 0x38], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x3c], edx
cmp edx, eax
je 0x403a2f
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x30]
jmp 0x4037b0
push dword [ebp - 0x34]
call fcn.00406c29
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x4039eb
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4039eb
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x9f7e3d3f
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4039e0
nop dword [eax + eax]
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 0x403970
cmp esi, 0xe4b00354
je 0x4039f2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403950
mov eax, dword [eax]
jmp 0x403922
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00406c1b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x34]
movq xmm0, qword [ebp - 0x14]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x403b1b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x403b1b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x7c748e9e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403b10
nop dword [eax + eax]
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 0x403aa0
cmp esi, 0xcdd42e6f
je 0x403b22
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403a80
mov eax, dword [eax]
jmp 0x403a50
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x2c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x403c2b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x403c2b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x1839d187
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403c20
nop dword [eax + eax]
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 0x403bb0
cmp esi, 0x76f151d7
je 0x403c32
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403b90
mov eax, dword [eax]
jmp 0x403b60
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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 dword [ebp - 0x34], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x403d46
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x403d3f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x403d3f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x6933fb97
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403d34
nop dword [eax]
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 0x403cc0
cmp esi, 0xd87ebf89
je 0x4039f2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403ca4
mov eax, dword [eax]
jmp 0x403c77
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x403e0b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x403e0b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x8d56ae26
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403e00
nop dword [eax + eax]
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 0x403d90
cmp esi, 0x8ada1fe5
je 0x403e12
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403d73
mov eax, dword [eax]
jmp 0x403d46
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push 0x403340
push dword [ebp - 0x34]
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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 eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x403f1b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x403f1b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0xe430db6e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x403f10
nop dword [eax + eax]
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 0x403ea0
cmp esi, 0xe23514a3
je 0x403f22
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403e80
mov eax, dword [eax]
jmp 0x403e50
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
push 0
push dword [ebp - 0x2c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [ebp - 0x40], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x404180
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40402b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40402b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x7317a369
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404020
nop dword [eax]
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 0x403fb0
cmp esi, 0xc307d995
je 0x404032
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x403f94
mov eax, dword [eax]
jmp 0x403f67
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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 eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40413b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40413b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0xa4c365fc
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404130
nop dword [eax + eax]
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 0x4040c0
cmp esi, 0x2844f45b
je 0x404142
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x4040a0
mov eax, dword [eax]
jmp 0x404070
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00406c1b
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40424b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40424b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0xd54afca2
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404240
nop dword [eax + eax]
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 0x4041d0
cmp esi, 0x282cafd3
je 0x404252
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x4041b0
mov eax, dword [eax]
jmp 0x404180
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push dword [ebp - 0x40]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*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 eax, dword fs:[0x30]
xorps xmm0, xmm0
movq qword [ebp - 0x14], xmm0
mov dword [ebp - 0xc], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40435b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40435b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
sub ecx, 4
dec ebx
mov dword [ebp - 0x1c], ecx
mov edi, 0x3cf26df
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x40434d
nop word [eax + eax]
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 0x4042e0
cmp edi, 0x3f5dbdf1
je 0x404362
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x4042c0
mov eax, dword [eax]
jmp 0x404290
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0
push 0xc
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0x30]
add eax, edx
push dword [ebp - 0x2c]
call eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40446b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40446b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0x50acecb3
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404460
nop dword [eax + eax]
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 0x4043f0
cmp esi, 0x52876321
je 0x404472
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x4043d0
mov eax, dword [eax]
jmp 0x4043a0
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0xa
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*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
cmp dword [ebp - 0x40], 0
je 0x404272
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x24], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x40456b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40456b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x1c], ecx
dec ebx
mov esi, 0xf8e96af2
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404560
nop dword [eax]
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 0x4044f0
cmp esi, 0x1e7afa56
je 0x404572
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x4044d4
mov eax, dword [eax]
jmp 0x4044a7
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x2c]
lea eax, [eax + ebx*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 al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00406c1b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00406c29
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
xor al, al
pop edi
pop esi
pop ebx
call fcn.00406c1b
mov esp, ebp
pop ebp
ret