Function at 0x404710
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 0x424330
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e8
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 - 0x298], ecx
call fcn.0041129d
cmp eax, 0x1337
jne 0x404768
lea eax, [ebp - 0x28]
call eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x2c4], 0x3e521c7a
push eax
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x2c0], 0x3f9d0ab7
push eax
sub esp, 8
mov dword [ebp - 0x2bc], 0x94832641
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2b8], 0xa06e5f6d
mov dword [ebp - 0x2b4], 0x602c7be1
mov dword [ebp - 0x2b0], 0x3099c84f
mov dword [ebp - 0x2ac], 0x6a128bda
mov dword [ebp - 0x2a8], 0xf7a60472
mov dword [ebp - 0x40], 0x2bf18a3d
mov dword [ebp - 0x3c], 0xc4d0976e
mov dword [ebp - 0x38], 0x8d10e65b
mov dword [ebp - 0x34], 0x9e4cfa72
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x24], 0xe
call fcn.00401240
mov ecx, eax
mov eax, 0x5a4d
mov dword [ebp - 0x2a4], ecx
cmp word [ecx], ax
jne 0x4060bf
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [ebp - 0x2a0], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x29c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x294], ecx
cmp ecx, esi
je 0x404925
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404925
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
nop
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x27c], ecx
mov ecx, 0xb5c04b7f
dec edx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404917
mov eax, dword [ebp - 0x290]
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 0x404891
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0x661cd724
mov eax, dword [ebp - 0x288]
je 0x40492c
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x27c]
test edx, edx
jne 0x404860
mov eax, dword [eax]
jmp 0x404825
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x29c]
push 0x40
push 0x3000
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 - 0x2a0]
add eax, esi
push dword [ecx + 0x50]
push dword [ecx + 0x34]
push dword [ebp - 0x298]
call eax
mov ecx, eax
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x404ad3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x29c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x294], ecx
cmp ecx, esi
je 0x404a85
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404a85
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 - 0x27c], ecx
mov ecx, 0xa8581617
dec edx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x288], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404a77
mov eax, dword [ebp - 0x290]
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 0x4049f1
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0xebd95ed4
mov eax, dword [ebp - 0x28c]
je 0x404a8c
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x27c]
test edx, edx
jne 0x4049c0
mov eax, dword [eax]
jmp 0x404982
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x29c]
push 0x40
push 0x3000
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 - 0x2a0]
add eax, esi
push dword [ecx + 0x50]
push 0
push dword [ebp - 0x298]
call eax
mov dword [ebp - 0x290], eax
test eax, eax
je 0x4060b9
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x264], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x260], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x258], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x294], ecx
cmp ecx, esi
je 0x404c15
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404c15
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x27c], ecx
mov ecx, 0xa1640b13
dec edx
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x29c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404c07
mov eax, dword [ebp - 0x288]
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 0x404b81
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x735d3c86
mov eax, dword [ebp - 0x28c]
je 0x404c1c
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x27c]
test edx, edx
jne 0x404b50
mov eax, dword [eax]
jmp 0x404b13
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x280]
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 - 0x24b]
push ecx
add eax, esi
push 0
call eax
mov dword [ebp - 0x28], 0x7e75ac7e
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0xab409558
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x558c94ef
mov dword [ebp - 0x24], 0x55292856
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x1617c909
mov dword [ebp - 0x24], 0x852bfa37
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x55e5fa86
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x24], 0x55292856
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x2e4], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2e8], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x2f0]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0x2dc], xmm0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404cf2
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x2dc]
call fcn.0040a860
lea edx, [ebp - 0x2dc]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2bc]
call fcn.00403f20
mov esi, eax
cmp dword [esi + 0x14], 0xf
jbe 0x404d2d
mov esi, dword [esi]
mov ecx, dword [ebp - 0x2a8]
cmp ecx, 0xf
jbe 0x404d67
mov edx, dword [ebp - 0x2bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404d5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060e8
push ecx
push edx
call fcn.0040bd5e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
cmp ecx, 0xf
jbe 0x404dc3
mov edx, dword [ebp - 0x2dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404db9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060e8
push ecx
push edx
call fcn.0040bd5e
add esp, 8
push esi
lea eax, [ebp - 0x147]
mov dword [ebp - 0x2cc], 0
push 0x104
push eax
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
call fcn.004115a5
mov al, byte [ebx + 0x10]
add esp, 0xc
mov byte [ebp - 0x24c], al
mov eax, dword fs:[0x30]
mov dword [ebp - 0x250], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x294], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x27c], ecx
cmp ecx, esi
je 0x404f15
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404f15
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 - 0x280], ecx
mov ecx, 0x88b47e34
dec edx
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x28c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x404f07
mov eax, dword [ebp - 0x288]
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 0x404e81
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x87fb96b9
mov eax, dword [ebp - 0x29c]
je 0x404f1c
mov edx, dword [ebp - 0x28c]
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x280]
test edx, edx
jne 0x404e50
mov eax, dword [eax]
jmp 0x404e12
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x294]
push 0x40
mov eax, dword [esi + 0x24]
push 0x3000
push 0x1000
push 0
push dword [ebp - 0x298]
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 fs:[0x30]
mov dword [ebp - 0x284], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x294], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x27c], eax
cmp eax, esi
je 0x405073
mov edx, dword [eax + 0x18]
test edx, edx
je 0x405073
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 - 0x280], eax
mov eax, 0xc734ce28
dec edx
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x28c], edx
mov al, byte [edi]
inc edi
test al, al
je 0x405065
mov ecx, dword [ebp - 0x288]
nop word [eax + eax]
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 0x404fe0
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0xc1e7b0f6
mov ecx, dword [ebp - 0x29c]
je 0x40507a
mov edx, dword [ebp - 0x28c]
mov esi, dword [ecx + 0x18]
mov eax, dword [ebp - 0x280]
test edx, edx
jne 0x404fa5
mov ecx, dword [ecx]
jmp 0x404f6c
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x294]
push 0
mov eax, dword [esi + 0x24]
push 0x210
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x284]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x250]
push ecx
push esi
push dword [ebp - 0x298]
add eax, edx
call eax
mov edx, dword [ebp - 0x2a0]
xor ecx, ecx
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x294], ecx
movzx eax, word [edx + 0x14]
add eax, 0x28
cmp word [edx + 6], cx
je 0x40528e
lea esi, [eax + edx]
mov dword [ebp - 0x27c], esi
nop dword [eax]
cmp dword [esi], 0
je 0x40526c
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x280], ecx
cmp ecx, esi
je 0x405205
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405205
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 - 0x284], ecx
mov ecx, 0xd1bba536
dec edx
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x28c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4051f7
mov eax, dword [ebp - 0x288]
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 0x405171
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0x4e8bbd33
mov eax, dword [ebp - 0x29c]
je 0x40520c
mov edx, dword [ebp - 0x28c]
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x284]
test edx, edx
jne 0x405140
mov eax, dword [eax]
jmp 0x405105
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2a4]
mov eax, dword [edx + 0x24]
push 0
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + esi]
add edx, esi
mov esi, dword [ebp - 0x27c]
push dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [esi - 4]
add ecx, edi
add eax, dword [ebp - 0x290]
push ecx
push eax
push dword [ebp - 0x298]
call edx
test eax, eax
je 0x40539d
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x2a0]
movzx eax, word [edx + 6]
inc ecx
add esi, 0x28
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x27c], esi
cmp ecx, eax
jne 0x4050f0
mov esi, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x2a4]
lea edx, [ebp - 0x251]
lea eax, [ecx + 0x13]
cmp ecx, edx
ja 0x4052a7
lea edx, [ebp - 0x264]
movups xmm0, xmmword [ebp - 0x264]
mov eax, dword fs:[0x30]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405396
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405396
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 - 0x24], ecx
dec edx
mov esi, 0x65068ff7
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405388
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 0x405311
cmp esi, 0xea2a76a1
je 0x4054d9
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x4052f3
mov eax, dword [eax]
jmp 0x4052c0
push edi
call fcn.0040bd24
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405491
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405491
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 - 0x24], ecx
dec edx
mov esi, 0xbdfe7070
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405483
nop word [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 0x405410
cmp esi, 0x849df54
je 0x405498
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x4053e5
mov eax, dword [eax]
jmp 0x4053b2
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0x8000
mov eax, dword [esi + 0x24]
push 0
push dword [ebp - 0x290]
push dword [ebp - 0x298]
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
jmp 0x4060c8
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0
mov eax, dword [esi + 0x24]
push 0x1000
push dword [ebp - 0x2a4]
push dword [ebp - 0x290]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x298]
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 word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405602
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405602
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 - 0x24], ecx
dec edx
mov esi, 0x36b70ca9
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4055f4
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 0x405581
cmp esi, 0xb9eb2cb5
je 0x405609
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405563
mov eax, dword [eax]
jmp 0x405530
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0x40
mov eax, dword [esi + 0x24]
push 0x3000
push 0x1000
push 0
push dword [ebp - 0x298]
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 dword [ebp - 0x2a0], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x405740
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405736
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405736
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 - 0x24], ecx
dec edx
mov esi, 0x51248531
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405728
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 0x4056b1
cmp esi, 0x83127bf0
je 0x405498
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405693
mov eax, dword [eax]
jmp 0x405660
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405812
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405812
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 - 0x24], ecx
dec edx
mov esi, 0xfe68338
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405804
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 0x405791
cmp esi, 0x9b9bacd
je 0x405819
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405773
mov eax, dword [eax]
jmp 0x405740
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0
mov eax, dword [esi + 0x24]
push 0x1000
push 0x4045b0
push dword [ebp - 0x2a0]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x298]
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 word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405942
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405942
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 - 0x24], ecx
dec edx
mov esi, 0x4511fa98
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405934
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 0x4058c1
cmp esi, 0xc1ce9bec
je 0x405949
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x4058a3
mov eax, dword [eax]
jmp 0x405870
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0
mov eax, dword [esi + 0x24]
push 0
push dword [ebp - 0x290]
push dword [ebp - 0x2a0]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
push 0
push dword [ebp - 0x298]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [ebp - 0x294], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x405c10
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405a91
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405a91
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 - 0x24], ecx
dec edx
mov esi, 0xd84a897a
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405a83
nop word [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 0x405a10
cmp esi, 0x75a71905
je 0x405a98
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x4059e3
mov eax, dword [eax]
jmp 0x4059b0
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0x8000
mov eax, dword [esi + 0x24]
push 0
push dword [ebp - 0x290]
push dword [ebp - 0x298]
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 eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405bc1
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405bc1
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 - 0x24], ecx
dec edx
mov esi, 0x597cb927
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405bb3
nop word [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 0x405b40
cmp esi, 0x4a073707
je 0x405bc8
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405b13
mov eax, dword [eax]
jmp 0x405ae0
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0x8000
mov eax, dword [esi + 0x24]
push 0
push dword [ebp - 0x2a0]
push dword [ebp - 0x298]
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
jmp 0x4060c8
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405ce2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405ce2
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 - 0x24], ecx
dec edx
mov esi, 0x6bed0da4
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405cd4
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 0x405c61
cmp esi, 0xf86454a7
je 0x405ce9
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405c43
mov eax, dword [eax]
jmp 0x405c10
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push dword [ebp - 0x294]
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
nop dword [eax + eax]
mov eax, dword fs:[0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x268], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405e11
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405e11
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
dec edx
mov dword [ebp - 0x24], ecx
mov edi, 0x94a6aeb4
mov dword [ebp - 0x27c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x405e00
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 0x405d90
cmp edi, 0x6d00a99b
je 0x405e18
mov esi, dword [eax + 0x18]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
test edx, edx
jne 0x405d73
mov eax, dword [eax]
jmp 0x405d40
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0
mov eax, dword [esi + 0x24]
push 0x14
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]
lea ecx, [ebp - 0x278]
push ecx
push dword [ebp - 0x290]
add eax, edx
push dword [ebp - 0x298]
call eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x294], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x405f51
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x405f51
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 - 0x24], ecx
dec edx
mov esi, 0x4de36b9
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405f43
nop word [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 0x405ed0
cmp esi, 0xa2ccfdd0
je 0x405f58
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405ea3
mov eax, dword [eax]
jmp 0x405e70
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0xa
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
cmp dword [ebp - 0x294], 0
je 0x405d20
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x280], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x284], ecx
cmp ecx, esi
je 0x406072
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x406072
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 - 0x24], ecx
dec edx
mov esi, 0x96b13ab3
mov dword [ebp - 0x27c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406064
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 0x405ff1
cmp esi, 0x484483a1
je 0x406079
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x405fd3
mov eax, dword [eax]
jmp 0x405fa0
mov esi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
push 0x8000
mov eax, dword [esi + 0x24]
push 0
push dword [ebp - 0x2a0]
push dword [ebp - 0x298]
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 al, 1
jmp 0x4060ca
mov ecx, dword [ebp - 0x2a4]
push ecx
call fcn.0040bd24
add esp, 4
xor al, al
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
call fcn.00410a4f
int3