Function at 0x404000
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, 0x188
mov eax, dword [0x42e040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov dword [ebp - 0x150], ecx
call fcn.004106fd
cmp eax, 0x1337
jne 0x40402d
lea eax, [ebp - 0x14]
call eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x184], 0x3e521c7a
push eax
lea eax, [ebp - 0x184]
mov dword [ebp - 0x180], 0x3f9d0ab7
push eax
sub esp, 8
mov dword [ebp - 0x17c], 0x94832641
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x178], 0xa06e5f6d
mov dword [ebp - 0x174], 0x602c7be1
mov dword [ebp - 0x170], 0x3099c84f
mov dword [ebp - 0x16c], 0x6a128bda
mov dword [ebp - 0x168], 0xf7a60472
mov dword [ebp - 0x12c], 0x2bf18a3d
mov dword [ebp - 0x128], 0xc4d0976e
mov dword [ebp - 0x124], 0x8d10e65b
mov dword [ebp - 0x120], 0x9e4cfa72
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x10], 0xe
call fcn.00401240
mov ecx, eax
mov eax, 0x5a4d
mov dword [ebp - 0x164], ecx
cmp word [ecx], ax
jne 0x4056b8
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [ebp - 0x15c], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x154], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x158], ecx
cmp ecx, ebx
je 0x4041d8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4041d8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, ebx
mov dword [ebp - 0x14c], ecx
dec edx
mov ebx, 0x497d1bcf
mov dword [ebp - 0x148], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4041c7
movsx ecx, cl
lea edi, [edi + 1]
imul edx, ecx, 0xcc9e2d51
imul esi, ecx, 0x51000000
ror edx, 0x11
imul ecx, edx, 0x1b873593
ror esi, 0x11
xor ecx, ebx
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
imul ecx, esi, 0x1b873593
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 ecx, edx
imul ebx, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x404154
cmp ebx, 0x88c91e70
je 0x4041df
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x14c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x404133
mov eax, dword [eax]
jmp 0x404100
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x154]
push 0x40
mov eax, dword [esi + 0x24]
push 0x3000
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push dword [ecx + 0x34]
push dword [ebp - 0x150]
call eax
mov ecx, eax
mov dword [ebp - 0x160], ecx
test ecx, ecx
jne 0x40436e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x154], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x158], ecx
cmp ecx, ebx
je 0x404318
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404318
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, ebx
mov dword [ebp - 0x14c], ecx
dec edx
mov ebx, 0xfd53b8f2
mov dword [ebp - 0x148], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404307
movsx ecx, cl
lea edi, [edi + 1]
imul edx, ecx, 0xcc9e2d51
imul esi, ecx, 0x51000000
ror edx, 0x11
imul ecx, edx, 0x1b873593
ror esi, 0x11
xor ecx, ebx
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
imul ecx, esi, 0x1b873593
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 ecx, edx
imul ebx, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x404294
cmp ebx, 0x583eb672
je 0x40431f
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x14c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x404273
mov eax, dword [eax]
jmp 0x404240
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x154]
push 0x40
mov eax, dword [esi + 0x24]
push 0x3000
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push 0
push dword [ebp - 0x150]
call eax
mov dword [ebp - 0x160], eax
test eax, eax
je 0x4056b2
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x13c], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x138], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x134], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x158], ecx
cmp ecx, edx
je 0x40449e
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40449e
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 - 0x14c], ecx
mov ecx, 0x66d2577e
dec ebx
mov dword [ebp - 0x148], ecx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404490
mov eax, dword [ebp - 0x148]
nop dword [eax + eax]
movsx ecx, cl
lea edi, [edi + 1]
imul edx, ecx, 0xcc9e2d51
imul esi, ecx, 0x51000000
ror edx, 0x11
imul ecx, edx, 0x1b873593
ror esi, 0x11
xor ecx, eax
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
imul ecx, esi, 0x1b873593
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 ecx, edx
imul eax, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x404410
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x90e5303e
mov eax, dword [ebp - 0x154]
je 0x4044a5
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x14c]
test ebx, ebx
jne 0x4043e0
mov eax, dword [eax]
jmp 0x4043a4
mov esi, dword [ebp - 0x158]
mov edx, dword [ebp - 0x140]
push 0x104
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 - 0x11c]
push ecx
add eax, edx
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x14c], ecx
cmp ecx, edx
je 0x4045de
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4045de
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop dword [eax + eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x140], ecx
mov ecx, 0x2b4a1c86
dec ebx
mov dword [ebp - 0x148], ecx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4045d0
mov eax, dword [ebp - 0x148]
nop dword [eax + eax]
movsx ecx, cl
lea edi, [edi + 1]
imul edx, ecx, 0xcc9e2d51
imul esi, ecx, 0x51000000
ror edx, 0x11
imul ecx, edx, 0x1b873593
ror esi, 0x11
xor ecx, eax
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
imul ecx, esi, 0x1b873593
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 ecx, edx
imul eax, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x404550
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0x4ea52af5
mov eax, dword [ebp - 0x154]
je 0x4045e5
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x140]
test ebx, ebx
jne 0x404520
mov eax, dword [eax]
jmp 0x4044e2
mov esi, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x158]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x150]
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 ecx, dword fs:[0x30]
mov dword [ebp - 0x144], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x14c], eax
cmp eax, esi
je 0x404720
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x404720
mov eax, dword [eax + 0x20]
lea eax, [eax + ebx*4]
add eax, esi
mov edi, dword [eax - 4]
sub eax, 4
add edi, esi
mov dword [ebp - 0x140], eax
mov eax, 0x4ccdf166
dec ebx
mov dword [ebp - 0x148], eax
mov al, byte [edi]
inc edi
test al, al
je 0x404712
mov ecx, dword [ebp - 0x148]
movsx eax, al
lea edi, [edi + 1]
imul edx, eax, 0xcc9e2d51
imul esi, eax, 0x51000000
ror edx, 0x11
imul eax, edx, 0x1b873593
ror esi, 0x11
xor eax, ecx
ror eax, 0x13
add eax, 0xfaddaf14
lea edx, [eax + eax*4]
imul eax, esi, 0x1b873593
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 eax, edx
imul ecx, eax, 0x539
mov al, byte [edi - 1]
test al, al
jne 0x404693
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0xe92ab904
mov ecx, dword [ebp - 0x154]
je 0x404727
mov esi, dword [ecx + 0x18]
mov eax, dword [ebp - 0x140]
test ebx, ebx
jne 0x404668
mov ecx, dword [ecx]
jmp 0x40462f
mov esi, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x158]
push 0
push 0x104
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x144]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x11c]
push ecx
push esi
push dword [ebp - 0x150]
add eax, edx
call eax
mov edx, dword [ebp - 0x15c]
xor ecx, ecx
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x158], ecx
movzx eax, word [edx + 0x14]
add eax, 0x28
cmp word [edx + 6], cx
je 0x40491b
lea ebx, [eax + edx]
mov dword [ebp - 0x14c], ebx
cmp dword [ebx], 0
je 0x4048ff
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x10], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x140], ecx
cmp ecx, edx
je 0x40489e
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40489e
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 - 0x144], ecx
mov ecx, 0x8fc791d8
dec ebx
mov dword [ebp - 0x148], ecx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404890
mov eax, dword [ebp - 0x148]
nop dword [eax + eax]
movsx ecx, cl
lea edi, [edi + 1]
imul edx, ecx, 0xcc9e2d51
imul esi, ecx, 0x51000000
ror edx, 0x11
imul ecx, edx, 0x1b873593
ror esi, 0x11
xor ecx, eax
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
imul ecx, esi, 0x1b873593
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 ecx, edx
imul eax, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x404810
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0xd091c71e
mov eax, dword [ebp - 0x154]
je 0x4048a5
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x144]
test ebx, ebx
jne 0x4047e0
mov eax, dword [eax]
jmp 0x4047a8
mov edx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x10]
push 0
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x14c]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
push dword [ebx]
lea eax, [eax + ecx*4]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + esi]
mov eax, dword [ebx - 4]
add edx, esi
mov esi, dword [ebp - 0x164]
add ecx, esi
add eax, dword [ebp - 0x160]
push ecx
push eax
push dword [ebp - 0x150]
call edx
test eax, eax
je 0x404a26
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x15c]
movzx eax, word [edx + 6]
inc ecx
add ebx, 0x28
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x14c], ebx
cmp ecx, eax
jne 0x404793
mov ecx, dword [ebp - 0x164]
lea edx, [ebp - 0x12d]
lea eax, [ecx + 0xf]
cmp ecx, edx
ja 0x404934
lea edx, [ebp - 0x13c]
mov eax, dword fs:[0x30]
movups xmm0, xmmword [ebp - 0x13c]
movups xmmword [ecx], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404a1f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404a1f
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 - 0x10], ecx
dec ebx
mov esi, 0x2a3b6395
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404a14
nop
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 0x4049a0
cmp esi, 0x161c5485
je 0x404b5b
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404983
mov eax, dword [eax]
jmp 0x404950
push esi
call fcn.0040b0bf
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404b0b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404b0b
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 - 0x10], ecx
dec ebx
mov esi, 0x31bcdf06
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404b00
nop
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 0x404a90
cmp esi, 0x97edb2f3
je 0x404b12
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404a73
mov eax, dword [eax]
jmp 0x404a40
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x160]
push dword [ebp - 0x150]
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.0040b0b1
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push dword [ebp - 0x164]
push dword [ebp - 0x160]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x150]
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]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404c6d
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404c6d
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 - 0x10], ecx
dec ebx
mov esi, 0x56b0ef80
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404c62
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 0x404bf2
cmp esi, 0x22e4004f
je 0x404c74
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404bd6
mov eax, dword [eax]
jmp 0x404ba3
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x150]
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 - 0x15c], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x404db0
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404d9f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404d9f
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 - 0x10], ecx
dec ebx
mov esi, 0x973dc7e6
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404d94
nop
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 0x404d20
cmp esi, 0x817e95d8
je 0x404b12
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404d03
mov eax, dword [eax]
jmp 0x404cd0
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404e7b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404e7b
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 - 0x10], ecx
dec ebx
mov esi, 0x21afd965
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404e70
nop
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 0x404e00
cmp esi, 0x1d419ad7
je 0x404e82
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404de3
mov eax, dword [eax]
jmp 0x404db0
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push 0x403ea0
push dword [ebp - 0x15c]
push dword [ebp - 0x150]
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 - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x404f9b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x404f9b
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 - 0x10], ecx
dec ebx
mov esi, 0x7882b157
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404f90
nop
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 0x404f20
cmp esi, 0x96bda952
je 0x404fa2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x404f03
mov eax, dword [eax]
jmp 0x404ed0
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x160]
push dword [ebp - 0x15c]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
push 0
push dword [ebp - 0x150]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [ebp - 0x14c], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x405230
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x4050cb
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4050cb
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 - 0x10], ecx
dec ebx
mov esi, 0x494be3d9
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4050c0
nop
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 0x405050
cmp esi, 0x2bef41c3
je 0x4050d2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x405033
mov eax, dword [eax]
jmp 0x405000
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x160]
push dword [ebp - 0x150]
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]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x4051de
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4051de
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 - 0x10], ecx
dec ebx
mov esi, 0xd5a8168a
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4051d3
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 0x405163
cmp esi, 0x534efc92
je 0x4051e5
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x405147
mov eax, dword [eax]
jmp 0x405114
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x15c]
push dword [ebp - 0x150]
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.0040b0b1
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x4052fb
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4052fb
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 - 0x10], ecx
dec ebx
mov esi, 0x99d72741
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4052f0
nop
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 0x405280
cmp esi, 0xc1b0eedf
je 0x405302
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x405263
mov eax, dword [eax]
jmp 0x405230
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push dword [ebp - 0x14c]
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
nop dword [eax + eax]
mov eax, dword fs:[0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x40541f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40541f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
dec ebx
mov dword [ebp - 0x10], ecx
mov edi, 0x89c97ec7
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x405411
nop
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 0x4053a0
cmp edi, 0xa556809f
je 0x405426
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x405383
mov eax, dword [eax]
jmp 0x405350
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0
push 0x10
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 - 0x12c]
push ecx
push dword [ebp - 0x160]
add eax, edx
push dword [ebp - 0x150]
call eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x14c], 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 - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x40554f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40554f
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 - 0x10], ecx
dec ebx
mov esi, 0xea09437
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405544
nop
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 0x4054d0
cmp esi, 0xd307c608
je 0x405556
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x4054b3
mov eax, dword [eax]
jmp 0x405480
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
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 - 0x14c], 0
je 0x405330
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x144], ecx
cmp ecx, edx
je 0x405662
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405662
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 - 0x10], ecx
dec ebx
mov esi, 0xdc59bd2
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405657
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 0x4055e3
cmp esi, 0x785f1322
je 0x405669
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x10]
test ebx, ebx
jne 0x4055c7
mov eax, dword [eax]
jmp 0x405594
mov esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x15c]
push dword [ebp - 0x150]
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.0040b0b1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x164]
push ecx
call fcn.0040b0bf
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
xor al, al
pop edi
pop esi
pop ebx
call fcn.0040b0b1
mov esp, ebp
pop ebp
ret