Function at 0x440110
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x1c0
mov esi, esp
mov dword [esi + 0x198], ebp
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x19c], esp
mov dword [esi + 0x1a8], 0xffffffff
mov dword [esi + 0x1a4], 0x588380
mov eax, dword fs:[0]
mov dword [esi + 0x1a0], eax
lea eax, [esi + 0x1a0]
mov dword fs:[0], eax
imul eax, edx, 0xf6
mov dword [esi + 0xfc], eax
add edx, edx
vbroadcastsd ymm0, qword [0x5abe80]
vmovaps ymmword [esi + 0x160], ymm0
vmovddup xmm0, qword [0x5abe90]
vmovaps xmmword [esi + 0x130], xmm0
vbroadcastsd ymm0, qword [0x5abe88]
vmovaps ymmword [esi + 0x140], ymm0
movzx eax, word [ebp + 0x10]
mov dword [esi + 0xec], eax
mov edi, 0x159
mov dword [esi + 0xf0], edx
cmp edi, 0x2710
mov dword [esi + 0xf4], edi
je 0x441742
mov eax, edi
lea ebx, [edi + 1]
mov edi, ebx
imul edi, edx
mov ecx, edi
not ecx
and ecx, 0x7b38e59b
mov edx, eax
mov dword [esi + 0x2c], edi
mov eax, edi
and eax, 0x84c71a64
or eax, ecx
mov edi, dword [esi + 0xfc]
imul edi, edx
mov ecx, edi
not ecx
and ecx, 0x7b38e59b
and edi, 0x84c71a64
or edi, ecx
xor edi, eax
mov ecx, dword [ebp + 8]
vzeroupper
call fcn.0040ab10
mov ecx, dword [0x5c3d70]
mov dword [esi + 0x20], 0
mov eax, dword [0x5c3d74]
mov dword [esi + 0xe8], ebx
jmp 0x440243
inc edx
mov dword [esi + 0x20], edx
mov ebx, dword [esi + 0xe8]
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x3c]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
cmp eax, 0xa
setge al
setl ah
xor ah, cl
jne 0x440266
or al, dl
test al, 1
jne 0x4416c0
cmp dword [esi + 0x20], 0x10
jae 0x440380
mov edx, edi
and edx, 0x7fffffff
mov eax, 0x4ec4ec4f
mulx eax, eax, eax
shr eax, 3
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
add ecx, eax
mov dword [esi + 0x24], edi
mov eax, edi
sub eax, ecx
add al, 0x61
mov dword [esi + 0x1a8], 0
movsx eax, al
mov ecx, dword [ebp + 8]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea edx, [ecx + 1]
mov dword [esi + 0x3c], ecx
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete dh
mov dword [esi + 0x30], eax
cmp eax, 0xa
setl al
or al, dh
mov byte [esi + 0x38], al
mov edx, dword [esi + 0x20]
je 0x4402f0
mov ecx, dword [esi + 0x24]
jmp 0x440300
mov edi, edx
imul edi, dword [esi + 0x2c]
jmp 0x44032f
mov ebx, ecx
mov edi, edx
imul edi, dword [esi + 0x2c]
andn ecx, edi, ecx
andn eax, ebx, edi
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x34
and eax, 0xffffffcb
or eax, ecx
add eax, ebx
mov dword [esi + 0x24], eax
cmp byte [esi + 0x38], 0
jne 0x440230
mov eax, edi
not eax
and eax, 0x224892b2
and edi, 0xddb76d4d
or edi, eax
mov ecx, dword [esi + 0x24]
mov eax, ecx
not eax
and eax, 0x224892b2
mov ebx, ecx
and ebx, 0xddb76d4d
or ebx, eax
xor ebx, edi
mov eax, ebx
not eax
and eax, 0xd24a1895
and ebx, 0x2db5e76a
or ebx, eax
xor ebx, 0xd24a18a1
add ecx, ebx
mov edx, dword [esi + 0x20]
jmp 0x440300
mov eax, dword [0x5c3d78]
mov ecx, dword [0x5c3d7c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1f]
cmp ecx, 0xa
setl byte [esi + 0x1e]
mov eax, 0xbd4d2732
nop dword [eax]
cmp eax, 0x34a03f55
jg 0x4403f0
cmp eax, 0xbd4d2732
je 0x440475
cmp eax, 0xfc4a9f43
jne 0x4403b0
mov eax, 0x20e9d76b
mov ecx, 0x2f021f6b
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0x4717f6ea
mov ecx, 0x88b7564e
mov dword [esi + 0x7c], eax
mov dword [esi + 0x78], ecx
mov eax, 0x59f5d137
jmp 0x4403b0
cmp eax, 0x34a03f56
je 0x4404b0
cmp eax, 0x59f5d137
jne 0x4403b0
lea eax, [esi + 0x70]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov ecx, 0x20e9d76b
mov edx, 0x2f021f6b
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, 0x4717f6ea
mov edx, 0x88b7564e
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov edx, dword [0x5c3d78]
mov ecx, dword [0x5c3d7c]
mov dword [esi + 0x24], ecx
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
mov edi, ebx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, edi
mov edi, 0xfc4a9f43
mov ecx, 0x34a03f56
cmovne edi, ecx
test edx, eax
mov eax, edi
cmove eax, ecx
cmp dword [esi + 0x24], 0xa
cmovge eax, edi
jmp 0x4403b0
movzx ecx, byte [esi + 0x1f]
movzx eax, byte [esi + 0x1e]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xfc4a9f43
mov edi, 0x59f5d137
cmovne eax, edi
test cl, cl
mov ecx, 0xfc4a9f43
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x4403b0
mov eax, 0x557b6745
mov edi, 0x20e9d76b
mov dword [esi + 0x38], eax
mov edx, 0x4717f6ea
mov ebx, 0x88b7564e
lea eax, [esi + 0x40]
xor ecx, ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x3c], edi
mov dword [esi + 0x44], edi
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x30], edx
mov dword [esi + 0x4c], edx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x48], ebx
vmovaps xmm0, xmmword [eax]
vmovaps xmm1, xmmword [esi + 0x70]
vandnps xmm2, xmm0, xmm1
vandnps xmm0, xmm1, xmm0
vorps xmm0, xmm2, xmm0
vmovaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x1a8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x70]
push eax
call fcn.00453fa0
cmp word [ebp + 0x10], 0
je 0x440656
mov dword [esi + 0x1a8], 6
push dword [esi + 0xec]
lea eax, [esi + 0x118]
push eax
call fcn.00454580
add esp, 8
mov dword [esi + 0x1a8], 7
lea ecx, [esi + 0x118]
push 0x5b286d
push 0
call fcn.00454150
mov ecx, dword [0x5c3e50]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov edx, dword [0x5c3e54]
sete byte [esi + 0x1f]
sete bl
mov ecx, 0x875345b4
mov edi, 0xdc1d3347
cmove ecx, edi
cmp edx, 0xa
setl byte [esi + 0x1e]
setl dl
mov edi, 0x875345b4
cmovge ecx, edi
xor dl, bl
mov edx, 0xdc1d3347
cmovne ecx, edx
mov edx, 0x8c6bde8f
nop dword [eax + eax]
cmp edx, 0xdc1d3346
jg 0x440600
cmp edx, 0x875345b4
je 0x440614
cmp edx, 0x8c6bde8f
jne 0x4405b0
movzx ebx, byte [esi + 0x1f]
movzx edx, byte [esi + 0x1e]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0x875345b4
mov edi, 0x7ef2dca6
cmovne edx, edi
test bl, bl
mov edi, 0x875345b4
cmove edx, edi
test bh, bh
mov edi, 0x7ef2dca6
cmovne edx, edi
jmp 0x4405b0
cmp edx, 0xdc1d3347
je 0x440620
cmp edx, 0x7ef2dca6
jne 0x4405b0
mov edx, ecx
jmp 0x4405b0
mov edx, 0x7ef2dca6
jmp 0x4405b0
mov dword [esi + 0x70], eax
mov ecx, dword [esi + 0x70]
vmovsd xmm0, qword [eax + 0x10]
vmovsd qword [esi + 0x50], xmm0
vmovups xmm0, xmmword [eax]
vmovaps xmmword [esi + 0x40], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [esi + 0x1a8], 8
jmp 0x4406d0
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3d74], 0xa
setl cl
test cl, al
jne 0x440682
xor cl, al
je 0x441710
mov dword [esi + 0x1a8], 7
lea ecx, [esi + 0x40]
push 0x5b307c
call fcn.00414560
mov ecx, dword [0x5c3d70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3d74], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4406d0
or cl, al
test cl, 1
jne 0x441720
nop word cs:[eax + eax]
mov dword [esi + 0x1a8], 8
lea eax, [esi + 0x40]
push eax
push dword [ebp + 8]
lea eax, [esi + 0xc0]
push eax
call fcn.00441990
add esp, 0xc
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5c3d74], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x440721
or cl, al
jne 0x4416d0
mov dword [esi + 0x1a8], 9
lea ecx, [esi + 0xbc]
lea eax, [esi + 0xc0]
push eax
call fcn.00441ca0
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5c3d74], 0xa
setge cl
setl ah
xor ah, dl
jne 0x440770
or cl, al
jne 0x4407b2
jmp 0x440770
lea ecx, [esi + 0xc0]
call fcn.0040ae90
lea ecx, [esi + 0x40]
call fcn.0040ae90
mov ecx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
sete bl
setne dl
cmp eax, 0xa
setl bh
setge dh
cmp bh, bl
jne 0x4407d0
or dh, dl
je 0x4407d0
lea ecx, [esi + 0xc0]
call fcn.0040ae90
lea ecx, [esi + 0x40]
call fcn.0040ae90
jmp 0x440770
cmp word [ebp + 0x10], 0
lea ecx, [esi + 0x118]
je 0x4407fa
call fcn.0040ae90
mov ecx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
and edi, edx
test edi, edi
setne cl
cmp eax, 0xa
setge dl
mov eax, edx
xor al, cl
or dl, cl
xor dl, 1
or dl, al
mov byte [esi + 0x36], dl
mov ecx, dword [0x5c3e58]
mov eax, dword [0x5c3e5c]
mov dword [esi + 0x20], eax
mov dword [esi + 0xf8], ecx
jne 0x440a86
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0xb8], ecx
mov eax, 0x3c0b066a
mov ecx, 0x4985b444
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xd7c3382b
mov ecx, 0x2b7b9382
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0xd1593811
mov ecx, 0x5b92c628
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], ecx
mov ecx, 0x547a7cf8
mov eax, 0xc0ba2320
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x44], edx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x40], edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x48], edx
mov edx, 0x5b92c647
mov edi, 0xd1593811
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edx
mov dword [esi + 0x9c], eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
lea eax, [esi + 0x40]
xor ecx, ecx
vmovaps ymm0, ymmword [eax]
vmovaps ymm1, ymmword [esi + 0x80]
cmp dword [esi + 0xb8], 0
sete cl
sete byte [esi + 0x1f]
mov edi, 0xbc728020
mov edx, 0x91bbd8a6
cmove edi, edx
cmp dword [esi + 0x20], 0xa
setl al
setl byte [esi + 0x1e]
vmovaps ymm4, ymmword [esi + 0x140]
vandnps ymm2, ymm1, ymm4
vandnps ymm3, ymm0, ymm4
vandnps ymm1, ymm4, ymm1
vorps ymm1, ymm2, ymm1
vandnps ymm0, ymm4, ymm0
vorps ymm0, ymm3, ymm0
vxorps ymm0, ymm1, ymm0
mov ebx, 0xbc728020
cmovge edi, ebx
xor al, cl
cmovne edi, edx
mov ecx, 0xeacc02a0
jmp 0x440940
mov ecx, edi
nop word [eax + eax]
cmp ecx, 0xeacc029f
jg 0x440960
cmp ecx, 0x91bbd8a6
je 0x4409a0
cmp ecx, 0xbc728020
jne 0x440940
mov ecx, 0x1b87ade3
jmp 0x440940
cmp ecx, 0x1b87ade3
je 0x440935
cmp ecx, 0xeacc02a0
jne 0x440940
movzx eax, byte [esi + 0x1f]
movzx ecx, byte [esi + 0x1e]
mov edx, eax
xor dl, cl
test cl, cl
mov ecx, 0xbc728020
mov ebx, 0x1b87ade3
cmovne ecx, ebx
test al, al
mov eax, 0xbc728020
cmove ecx, eax
test dl, dl
cmovne ecx, ebx
jmp 0x440940
mov eax, dword [0x5c3e60]
mov edi, dword [0x5c3e64]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edi, 0xa
setl dl
xor dl, al
mov eax, 0x7d94c6e6
mov edx, 0x1521d98b
cmovne eax, edx
cmp ecx, 0xffffffff
vmovaps ymmword [esi + 0xc0], ymm0
vmovaps ymm0, ymmword [esi + 0xc0]
sete byte [esi + 0x1e]
mov ecx, eax
cmove ecx, edx
cmp edi, 0xa
setl byte [esi + 0xc0]
cmovge ecx, eax
mov edi, 0xaf80e025
nop
cmp edi, 0x1521d98a
jg 0x440a50
cmp edi, 0x9d9b0461
je 0x440a6f
cmp edi, 0xaf80e025
jne 0x440a00
movzx eax, byte [esi + 0x1e]
movzx edx, byte [esi + 0xc0]
mov ah, al
xor ah, dl
test dl, dl
mov edi, 0x7d94c6e6
mov ebx, 0x9d9b0461
cmovne edi, ebx
test al, al
mov edx, 0x7d94c6e6
cmove edi, edx
test ah, ah
cmovne edi, ebx
jmp 0x440a00
cmp edi, 0x1521d98b
je 0x440a80
cmp edi, 0x7d94c6e6
jne 0x440a00
vmovaps ymmword [esi + 0x80], ymm0
mov edi, 0x9d9b0461
jmp 0x440a00
vmovaps ymmword [esi + 0x80], ymm0
mov edi, ecx
jmp 0x440a00
mov ecx, dword [esi + 0xf8]
lea ebx, [ecx + 1]
imul ebx, ecx
mov eax, ebx
and eax, 1
sete al
cmp dword [esi + 0x20], 0xa
setl cl
xor cl, al
mov edx, 0xbc728020
mov ecx, 0x91bbd8a6
cmovne edx, ecx
mov dword [esi + 0xe4], edx
mov eax, ebx
and eax, 1
cmove edx, ecx
mov dword [esi + 0x24], edx
mov eax, 0x3c0b066a
mov edx, 0x4985b444
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], edx
mov eax, 0xd7c3382b
mov edx, 0x2b7b9382
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], edx
mov eax, 0x5b92c628
mov edx, 0xd1593811
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
mov edx, 0x547a7cf8
mov eax, 0xc0ba2320
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x44], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x4c], ecx
mov edi, 0x5b92c647
mov ecx, 0xd1593811
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], ecx
mov dword [esi + 0x98], edx
mov dword [esi + 0x58], edx
mov dword [esi + 0x9c], eax
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x40]
xor ecx, ecx
vmovaps ymm0, ymmword [eax]
and ebx, 1
mov dword [esi + 0xb8], ebx
sete byte [esi + 0x1f]
cmp dword [esi + 0x20], 0xa
setl byte [esi + 0x1e]
vmovaps ymm1, ymmword [esi + 0x80]
vmovaps ymm4, ymmword [esi + 0x160]
vandnps ymm2, ymm1, ymm4
vandnps ymm3, ymm0, ymm4
vandnps ymm1, ymm4, ymm1
vorps ymm1, ymm2, ymm1
vandnps ymm0, ymm4, ymm0
vorps ymm0, ymm3, ymm0
vxorps ymm0, ymm1, ymm0
mov eax, dword [esi + 0x24]
cmovge eax, dword [esi + 0xe4]
mov dword [esi + 0x24], eax
mov ebx, 0xeacc02a0
nop dword [eax]
cmp ebx, 0xeacc029f
jg 0x440bc0
cmp ebx, 0x91bbd8a6
je 0x440c00
cmp ebx, 0xbc728020
jne 0x440ba0
mov ebx, 0x1b87ade3
jmp 0x440ba0
cmp ebx, 0x1b87ade3
je 0x440bf7
cmp ebx, 0xeacc02a0
jne 0x440ba0
movzx eax, byte [esi + 0x1f]
movzx ecx, byte [esi + 0x1e]
mov edx, eax
xor dl, cl
mov edx, 0xbc728020
mov edi, 0x1b87ade3
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x440ba0
mov ebx, dword [esi + 0x24]
jmp 0x440ba0
vmovaps ymmword [esi + 0xc0], ymm0
vmovaps ymm0, ymmword [esi + 0xc0]
mov eax, dword [0x5c3e60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5c3e64]
sete byte [esi + 0x1e]
sete cl
mov ebx, 0x7d94c6e6
mov edx, 0x1521d98b
cmove ebx, edx
cmp eax, 0xa
setl byte [esi + 0xc0]
setl al
mov edi, 0x7d94c6e6
cmovge ebx, edi
xor al, cl
cmovne ebx, edx
mov ecx, 0xaf80e025
nop word [eax + eax]
cmp ecx, 0x1521d98a
jg 0x440cb0
cmp ecx, 0x9d9b0461
je 0x440ccf
cmp ecx, 0xaf80e025
jne 0x440c60
movzx eax, byte [esi + 0x1e]
movzx ecx, byte [esi + 0xc0]
mov edx, eax
xor dl, cl
mov edx, 0x7d94c6e6
mov edi, 0x9d9b0461
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x440c60
cmp ecx, 0x1521d98b
je 0x440ce0
cmp ecx, 0x7d94c6e6
jne 0x440c60
vmovaps ymmword [esi + 0x80], ymm0
mov ecx, 0x9d9b0461
jmp 0x440c60
vmovaps ymmword [esi + 0x80], ymm0
mov ecx, ebx
jmp 0x440c60
cmp byte [esi + 0x36], 0
je 0x440840
mov dword [esi + 0x1a8], 2
lea ecx, [esi + 0x100]
lea eax, [esi + 0x80]
push eax
vzeroupper
call fcn.00414560
mov eax, dword [0x5c3d10]
mov ecx, dword [0x5c3d14]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x37]
cmp ecx, 0xa
setl byte [esi + 0x2b]
mov edi, 0x7a7e16b
nop word cs:[eax + eax]
cmp edi, 0xa35b09c
jg 0x440d90
cmp edi, 0xe2844bfb
je 0x440e30
cmp edi, 0x7a7e16b
jne 0x440d40
movzx eax, byte [esi + 0x37]
movzx ecx, byte [esi + 0x2b]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xa35b09d
mov ecx, 0x4acd4f9a
cmovne edi, ecx
test al, al
mov eax, 0xa35b09d
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x440d40
cmp edi, 0xa35b09d
je 0x440e04
cmp edi, 0x4acd4f9a
jne 0x440d40
mov ecx, dword [esi + 0xbc]
mov dword [esi + 0x1a8], 3
lea eax, [esi + 0x100]
push eax
lea eax, [esi + 0x70]
push eax
call fcn.004a1a30
mov edx, dword [0x5c3d10]
mov eax, dword [0x5c3d14]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xa35b09d
mov ebx, 0xe2844bfb
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x440d40
mov ecx, dword [esi + 0xbc]
mov dword [esi + 0x1a8], 3
lea eax, [esi + 0x100]
push eax
lea eax, [esi + 0x70]
push eax
call fcn.004a1a30
mov edi, 0x4acd4f9a
jmp 0x440d40
lea ecx, [esi + 0x100]
call fcn.0040ae90
mov edx, dword [0x5c3e70]
mov ecx, dword [0x5c3e74]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x77da922a
mov edi, 0x1abac09c
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x80]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x24], ecx
cmovge eax, edx
mov edx, 0xf06465fe
nop word cs:[eax + eax]
cmp edx, 0x2bb0ee1c
jg 0x440ec0
cmp edx, 0xf06465fe
je 0x440ed7
cmp edx, 0x1abac09c
jne 0x440ea0
jmp 0x440f10
cmp edx, 0x2bb0ee1d
je 0x440f01
cmp edx, 0x77da922a
jne 0x440ea0
mov edx, 0x2bb0ee1d
jmp 0x440ea0
movzx ebx, byte [esi + 0x80]
movzx edx, byte [esi + 0x40]
mov dh, bl
xor dh, dl
mov edi, 0x77da922a
mov ecx, 0x2bb0ee1d
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x440ea0
mov edx, eax
jmp 0x440ea0
cmp dword [esi + 0x24], 0
sete byte [esi + 0xc0]
cmp byte [esi + 0xc0], 0
mov al, 1
mov dword [esi + 0x24], eax
je 0x440f40
mov dword [esi + 0x20], 0
mov ebx, 0xabdf6629
jmp 0x4412bf
mov dword [esi + 0xb8], esp
push eax
sub esp, 0x34
mov dword [esi + 0x20], esp
mov edi, dword [0x5c3d20]
mov edx, dword [0x5c3d24]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
setl byte [esi + 0x80]
xor bh, bl
mov ebx, 0x8e706bf
mov eax, 0xab05eb01
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x100]
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
cmovge ecx, ebx
mov eax, dword [esi + 0x20]
add eax, 8
mov dword [esi + 0xe4], eax
mov edi, 0x289af9c8
nop word [eax + eax]
cmp edi, 0x8e706be
jg 0x440ff0
cmp edi, 0xab05eb01
je 0x441050
cmp edi, 0xe031671b
jne 0x440fb0
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc0]
mov dword [eax + 0x24], 0
mov edi, ecx
jmp 0x440fb0
cmp edi, 0x8e706bf
je 0x441034
cmp edi, 0x289af9c8
jne 0x440fb0
movzx edx, byte [esi + 0x100]
mov bh, byte [esi + 0x80]
mov bl, dl
xor bl, bh
mov eax, 0x8e706bf
mov edi, 0xe031671b
cmovne eax, edi
test bh, bh
mov edi, eax
mov ebx, 0xe031671b
cmovne edi, ebx
test dl, dl
cmove edi, eax
jmp 0x440fb0
mov eax, dword [esi + 0x20]
mov dword [eax + 0x2c], 0
mov edi, 0xe031671b
jmp 0x440fb0
mov eax, dword [esi + 0xc0]
mov eax, dword [esi + 0x70]
add eax, 0x3c
lea ecx, [esi + 0x40]
mov edx, dword [esi + 0x20]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov byte [edx + 0x30], 1
mov byte [edx + 0x34], 0
mov dword [esi + 0x1a8], 4
call fcn.00441ea0
add esp, 0x38
mov esp, dword [esi + 0xb8]
mov eax, dword [0x5c3d38]
mov ecx, dword [0x5c3d3c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x2b]
cmp ecx, 0xa
setl byte [esi + 0x100]
mov eax, 0x8c09889a
nop word cs:[eax + eax]
cmp eax, 0xcb8c4562
jg 0x4410e0
cmp eax, 0x8c09889a
je 0x441164
cmp eax, 0x9b41ddff
jne 0x4410c0
jmp 0x4411d0
cmp eax, 0xcb8c4563
je 0x441191
cmp eax, 0x4224ce1e
jne 0x4410c0
lea eax, [esi + 0x80]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc0]
mov ecx, 0x20e9d76b
mov edx, 0x557b0c2a
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, dword [esi + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 8], ecx
mov edx, dword [0x5c3d38]
mov ecx, dword [0x5c3d3c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xcb8c4563
mov edi, 0x9b41ddff
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4410c0
movzx ecx, byte [esi + 0x2b]
movzx eax, byte [esi + 0x100]
mov edx, ecx
xor dl, al
mov edx, 0xcb8c4563
mov edi, 0x4224ce1e
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4410c0
mov eax, 0x20e9d76b
mov ecx, 0x557b0c2a
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], ecx
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x8c], eax
mov eax, 0x4224ce1e
jmp 0x4410c0
mov eax, dword [esi + 0xc0]
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xc8], eax
xor eax, eax
lea ecx, [esi + 0xc0]
vmovaps xmm0, xmmword [ecx]
vmovaps xmm1, xmmword [esi + 0x80]
vmovaps xmm4, xmmword [esi + 0x130]
vandnps xmm2, xmm1, xmm4
vandnps xmm3, xmm0, xmm4
vandnps xmm1, xmm4, xmm1
vorps xmm1, xmm2, xmm1
vandnps xmm0, xmm4, xmm0
vorps xmm0, xmm3, xmm0
vxorps xmm0, xmm1, xmm0
vmovaps xmmword [esi + 0x80], xmm0
mov dword [esi + 0x1a8], 5
lea ecx, [esi + 0x40]
lea eax, [esi + 0x80]
push eax
call fcn.00442640
mov ecx, eax
call fcn.00442780
mov ecx, dword [0x5c3d70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5c3d74], 0xa
setl cl
or cl, dl
test al, al
je 0x4412a3
test cl, cl
mov ebx, 0xabdf6629
je 0x441730
lea ecx, [esi + 0x40]
call fcn.00442880
mov al, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], 0
jmp 0x4412bf
test cl, cl
mov ebx, 0xabdf6629
je 0x441740
lea ecx, [esi + 0x40]
call fcn.00442880
mov dword [esi + 0x20], 0
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3d74], 0xa
setl cl
test cl, al
jne 0x441300
xor cl, al
je 0x44141f
jmp 0x441300
mov eax, dword [0x5c3e88]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x5c3e8c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x80]
sete cl
mov eax, 0xabdf6629
mov edi, 0xb25193db
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x40]
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0xdb8e6ac1
nop word [eax + eax]
cmp ecx, 0xdb8e6ac0
jg 0x441370
cmp ecx, 0xabdf6629
je 0x4413aa
cmp ecx, 0xb25193db
jne 0x441350
jmp 0x4413c0
cmp ecx, 0xff6d1545
je 0x4413b1
cmp ecx, 0xdb8e6ac1
jne 0x441350
movzx edx, byte [esi + 0x80]
movzx ecx, byte [esi + 0x40]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xabdf6629
mov edi, 0xff6d1545
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
test dh, dh
cmovne ecx, edi
jmp 0x441350
mov ecx, 0xff6d1545
jmp 0x441350
mov ecx, eax
jmp 0x441350
lea ecx, [esi + 0x78]
mov dword [esi + 0xc0], ecx
mov eax, dword [esi + 0x78]
push dword [eax + 4]
push dword [esi + 0xc0]
call fcn.00497790
push 0x40
push dword [esi + 0x78]
call fcn.0058929f
add esp, 8
lea ecx, [esi + 0x70]
call fcn.004a6950
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c3d74], 0xa
setl cl
test cl, al
jne 0x441530
xor cl, al
jne 0x441530
mov edx, dword [0x5c3e88]
mov ecx, dword [0x5c3e8c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xabdf6629
mov edi, 0xb25193db
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x80]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x40]
cmovge eax, edx
mov ecx, 0xdb8e6ac1
jmp 0x441480
mov ecx, eax
nop word cs:[eax + eax]
cmp ecx, 0xdb8e6ac0
jg 0x4414a0
cmp ecx, 0xabdf6629
je 0x4414df
cmp ecx, 0xb25193db
jne 0x441480
jmp 0x4414f0
cmp ecx, 0xff6d1545
je 0x441471
cmp ecx, 0xdb8e6ac1
jne 0x441480
movzx edx, byte [esi + 0x80]
movzx ecx, byte [esi + 0x40]
mov ch, dl
xor ch, cl
mov edi, 0xabdf6629
mov ebx, 0xff6d1545
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
mov ebx, 0xabdf6629
test dl, dl
cmove ecx, edi
jmp 0x441480
mov ecx, 0xff6d1545
jmp 0x441480
lea ecx, [esi + 0x78]
mov dword [esi + 0xc0], ecx
mov eax, dword [esi + 0x78]
push dword [eax + 4]
push dword [esi + 0xc0]
call fcn.00497790
push 0x40
push dword [esi + 0x78]
call fcn.0058929f
add esp, 8
lea ecx, [esi + 0x70]
call fcn.004a6950
jmp 0x441300
lea eax, [esi + 0xbc]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x40], eax
mov eax, 0xd34cb45e
nop dword [eax]
cmp eax, 0xad5bea3b
je 0x4415f0
cmp eax, 0xfb6083a0
je 0x44157c
cmp eax, 0xd34cb45e
jne 0x441550
cmp dword [esi + 0x40], 0
mov eax, 0xfb6083a0
mov ecx, 0xad5bea3b
cmove eax, ecx
jmp 0x441550
mov eax, dword [esi + 0x80]
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xc0], eax
mov eax, 0x49a3dc4a
nop word cs:[eax + eax]
cmp eax, 0xee9ab4df
je 0x4415e6
cmp eax, 0x166f8d70
je 0x4415cb
cmp eax, 0x49a3dc4a
jne 0x4415a0
cmp dword [esi + 0xc0], 0
mov eax, 0x166f8d70
mov ecx, 0xee9ab4df
cmove eax, ecx
jmp 0x4415a0
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc0]
push 1
call eax
mov eax, 0xee9ab4df
jmp 0x4415a0
mov eax, 0xad5bea3b
jmp 0x441550
cmp byte [esi + 0x24], 0
je 0x441630
mov ecx, dword [0x5c3d70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3d74], 0xa
setl ch
setge cl
mov bl, 1
cmp ch, dl
jne 0x441632
or cl, al
test cl, 1
je 0x441632
jmp 0x441700
xor ebx, ebx
mov edi, ebx
mov ecx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
setne dl
sete bl
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
jne 0x441663
or dh, dl
jne 0x4416e0
cmp byte [esi + 0x20], 0
jne 0x441685
mov ecx, dword [ebp + 8]
call fcn.0040ae90
mov edx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
setne dl
sete bl
cmp eax, 0xa
setge dh
setl bh
xor bh, bl
jne 0x44169e
or dh, dl
jne 0x4416f0
mov edx, edi
test dl, dl
mov edx, dword [esi + 0xf0]
mov edi, dword [esi + 0xe8]
jne 0x4401b1
jmp 0x44175a
jmp 0x4416c0
jmp 0x4416d0
jmp 0x4416e0
jmp 0x4416f0
jmp 0x441700
jmp 0x441710
jmp 0x441720
jmp 0x441730
jmp 0x441740
mov ecx, dword [0x5c3d70]
mov eax, dword [0x5c3d74]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete dl
setne cl
cmp eax, 0xa
setl ah
setge al
cmp ah, dl
jne 0x441782
or al, cl
je 0x441782
nop word cs:[eax + eax]
jmp 0x441780
cmp dword [esi + 0xf4], 0x2710
jb 0x441808
mov ecx, dword [ebp + 8]
vzeroupper
call fcn.0040ab10
mov ecx, dword [0x5c3d70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5c3d74], 0xa
setge cl
setl ch
xor ch, dl
jne 0x441808
or cl, al
test cl, 1
je 0x441808
nop word cs:[eax + eax]
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.0040ab10
mov ecx, edi
call fcn.0040ab10
mov eax, dword [0x5c3d70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c3d74], 0xa
setl cl
test cl, al
jne 0x441808
xor cl, al
je 0x4417d0
mov eax, dword [esi + 0x1a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
vzeroupper
ret