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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov dword [esp + 0x4c], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1c919d83
sub edx, eax
mov edi, edx
or edi, esi
xor edx, esi
add edx, esi
sub edx, edi
or esi, eax
or esi, 0xe36e627c
mov edi, edx
not edi
or edi, esi
sub edx, esi
add edx, edi
mov ebx, edx
not ebx
mov edi, ebx
and edi, 0xe48cec1d
mov esi, edx
and esi, 2
imul esi, edi
and ebx, 2
or edi, 2
imul edi, ebx
lea ebx, [edx + edx]
or ebx, 0x36e627c1
sub esi, edx
add esi, edi
lea edi, [ebx + esi]
mov edx, 0x13e0
sub edx, edi
or edx, 1
add edx, edi
add esi, ebx
add esi, 0xec1f
mov ebx, 0x1b7313e0
sub ebx, edi
mov edi, ebx
not edi
and ebx, 0x5a66
and esi, 0xa599
or esi, ebx
xor esi, 0x5a67
and edi, 1
or edi, esi
add edx, edi
add edx, 0xffffec20
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418370
mov eax, dword [esp + 8]
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x418474
xor edx, edx
mov esi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa896961c
je 0x418450
inc edx
cmp ecx, edx
jne 0x418440
jmp 0x418474
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418474
lea eax, [esp + 4]
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x1c
test eax, eax
jns 0x4185a2
cmp eax, 0xc000007c
jne 0x4185a2
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1c919d83
sub edx, eax
mov edi, edx
or edi, esi
xor edx, esi
add edx, esi
sub edx, edi
or esi, eax
or esi, 0xe36e627c
mov edi, edx
not edi
or edi, esi
sub edx, esi
add edx, edi
mov ebx, edx
not ebx
mov edi, ebx
and edi, 0xe48cec1d
mov esi, edx
and esi, 2
imul esi, edi
and ebx, 2
or edi, 2
imul edi, ebx
lea ebx, [edx + edx]
or ebx, 0x36e627c1
sub esi, edx
add esi, edi
lea edi, [ebx + esi]
mov edx, 0x13e0
sub edx, edi
or edx, 1
add edx, edi
add esi, ebx
add esi, 0xec1f
mov ebx, 0x1b7313e0
sub ebx, edi
mov edi, ebx
not edi
and ebx, 0x5a66
and esi, 0xa599
or esi, ebx
xor esi, 0x5a67
and edi, 1
or edi, esi
add edx, edi
add edx, 0xffffec20
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x4184a0
mov eax, dword [0x4482e0]
test eax, eax
je 0x4185a2
mov ecx, dword [esp + 8]
xor edx, edx
mov esi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x418580
inc edx
cmp eax, edx
jne 0x418570
jmp 0x4185a2
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x4185a2
lea ecx, [esp + 4]
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x18
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x418e5e
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov esi, 0x1c919d83
sub esi, eax
mov ebx, esi
or ebx, edi
xor esi, edi
add esi, edi
sub esi, ebx
or edi, eax
or edi, 0xe36e627c
mov ebx, esi
not ebx
or ebx, edi
sub esi, edi
add esi, ebx
mov ebp, esi
not ebp
mov ebx, ebp
and ebx, 0xe48cec1d
mov edi, esi
and edi, 2
imul edi, ebx
and ebp, 2
or ebx, 2
imul ebx, ebp
lea ebp, [esi + esi]
or ebp, 0x36e627c1
sub edi, esi
add edi, ebx
lea ebx, [edi + ebp]
mov esi, 0x13e0
sub esi, ebx
or esi, 1
add esi, ebx
add edi, ebp
add edi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, ebx
mov ebx, ebp
not ebx
and ebp, 0x5a66
and edi, 0xa599
or edi, ebp
xor edi, 0x5a67
and ebx, 1
or ebx, edi
add esi, ebx
add esi, 0xffffec20
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x4185c0
mov eax, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x4186c5
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x6e83e51e
je 0x4186a0
inc esi
cmp edx, esi
jne 0x418690
jmp 0x4186c5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x4186c5
lea eax, [esp + 0x40]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x20
mov dword [esp + 8], 0x322ef24e
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + ecx*2 + 8]
lea esi, [ecx + 0x5ee205]
mov ebx, 0x35211dfa
sub ebx, ecx
and ebx, 0x30011d6a
and esi, 0x402201
or esi, ebx
xor esi, edi
mov edi, esi
and edi, 0x1029
xor edi, 1
and esi, 0xefd6
xor esi, 0xcd46
sub esi, edi
inc esi
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4186e0
cmp eax, dword [esp + 8]
jne 0x4188b8
push dword [esp + 0x40]
call fcn.00438390
add esp, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov al, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [esp + ecx*2 + 8]
mov edi, 0x1c919d83
sub edi, ecx
mov edx, edi
or edx, ebp
xor edi, ebp
add edi, ebp
sub edi, edx
or ebp, ecx
or ebp, 0xe36e627c
mov edx, edi
not edx
or edx, ebp
sub edi, ebp
add edi, edx
mov esi, edi
not esi
mov edx, esi
and edx, 0xe48cec1d
mov ebp, edi
and ebp, 2
imul ebp, edx
and esi, 2
or edx, 2
imul edx, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub ebp, edi
add ebp, edx
lea ebx, [esi + ebp]
mov edi, 0x13e0
sub edi, ebx
or edi, 1
add edi, ebx
lea edx, [esi + ebp]
add edx, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebx
mov ebx, esi
not ebx
and esi, 0x5a66
and edx, 0xa599
or edx, esi
xor edx, 0x5a67
and ebx, 1
or ebx, edx
lea edx, [ebx + edi]
add edx, 0xffffec20
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test al, 1
mov eax, 0
jne 0x418770
mov ecx, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x41887f
xor edi, edi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x418850
inc edi
cmp edx, edi
jne 0x418840
jmp 0x41887f
mov edi, dword [ebx + edi*8 + 4]
cmp edi, ecx
je 0x41887f
lea eax, [esp + 0x40]
push eax
push dword [esp + 4]
mov eax, dword [esp + 0x44]
push eax
push 1
push dword [esp + 0x68]
push 0x14
push edi
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x4188ac
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
test ecx, ecx
je 0x4188ac
cmp byte [ecx], 1
jne 0x4188ac
cmp byte [ecx + 1], 0xf
ja 0x4188ac
cmp byte [ecx + 7], 5
jne 0x4188ac
cmp byte [ecx + 8], 0x12
jne 0x4188ac
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
push dword [esp + 0x3c]
call fcn.004383b0
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x418e60
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [0x446fb8]
mov dword [esp + 8], 0x94df94db
mov dword [esp + 0xc], 0x94dc94aa
mov dword [esp + 0x10], 0x94d694ae
mov dword [esp + 0x14], 0x94f394f3
mov dword [esp + 0x18], 0x94c7940c
mov dword [esp + 0x1c], 0x94c994c8
mov word [esp + 0x20], 0x9426
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x14
mov edi, edx
xor edi, 0xef6a
add edi, esi
xor di, word [esp + edx*2 + 8]
add edi, 0xffff84b0
mov word [esp + edx*2 + 8], di
inc edx
add ecx, 2
cmp edx, 0xd
jne 0x418920
lea ebx, [esp + 8]
push 0x800
push 0
push ebx
call eax
lea ecx, [esp + 0x78]
push eax
call fcn.00439230
test al, al
je 0x418b27
mov dword [esp + 0x68], 1
mov dword [esp + 0x74], 2
push 0x10a6c058
push dword [esp + 0x7c]
call fcn.0043b790
add esp, 8
mov dword [esp + 8], 0x9fa49f93
mov dword [esp + 0xc], 0x9fae9f8b
mov dword [esp + 0x10], 0x9fa09fb4
mov dword [esp + 0x14], 0x9fb49fb4
mov dword [esp + 0x18], 0x9fa79fa7
mov dword [esp + 0x1c], 0x9fbf9fab
mov dword [esp + 0x20], 0x9f9d9fa9
mov dword [esp + 0x24], 0x9fa69fbc
mov dword [esp + 0x28], 0x9fb89fa6
mov dword [esp + 0x2c], 0x9fb69fbe
mov dword [esp + 0x30], 0x9fb09fb3
mov word [esp + 0x34], 0x9fd6
xor ecx, ecx
mov edx, 0xee3f
nop
movzx esi, word [esp + ecx*2 + 8]
mov edi, ecx
or edi, esi
or esi, edx
or edi, 0x11c0
sub edi, esi
lea esi, [edx + edi]
add esi, 0x7200
mov word [esp + ecx*2 + 8], si
inc ecx
dec edx
cmp ecx, 0x17
jne 0x4189f0
lea ecx, [esp + 0x6c]
push ecx
push ebx
push 0
call eax
test eax, eax
je 0x418d57
mov ecx, dword [esp + 4]
mov dword [esp + 0x80], 0x71a271a3
xor eax, eax
mov dl, 1
nop
nop
nop
movzx edi, word [esp + eax*2 + 0x80]
mov esi, 0x1c919d83
sub esi, eax
mov ebx, esi
or ebx, edi
xor esi, edi
add esi, edi
sub esi, ebx
or edi, eax
or edi, 0xe36e627c
mov ebx, esi
not ebx
or ebx, edi
sub esi, edi
add esi, ebx
mov ebp, esi
not ebp
mov ebx, ebp
and ebx, 0xe48cec1d
mov edi, esi
and edi, 2
imul edi, ebx
and ebp, 2
or ebx, 2
imul ebx, ebp
lea ebp, [esi + esi]
or ebp, 0x36e627c1
sub edi, esi
add edi, ebx
lea ebx, [edi + ebp]
mov esi, 0x13e0
sub esi, ebx
or esi, 1
add esi, ebx
add edi, ebp
add edi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, ebx
mov ebx, ebp
not ebx
and ebp, 0x5a66
and edi, 0xa599
or edi, ebp
xor edi, 0x5a67
and ebx, 1
or ebx, edi
add esi, ebx
add esi, 0xffffec20
mov word [esp + eax*2 + 0x80], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418a40
mov eax, dword [esp + 0x80]
mov edx, dword [0x4482e0]
test edx, edx
je 0x418c4e
xor esi, esi
mov edi, dword [0x4482e4]
cmp dword [edi + esi*8], 0x4b501129
je 0x418c27
inc esi
cmp edx, esi
jne 0x418b10
jmp 0x418c4e
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0x71a271a3
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + edx*2 + 8]
mov eax, 0x1c919d83
sub eax, edx
mov edi, eax
or edi, esi
xor eax, esi
add eax, esi
sub eax, edi
or esi, edx
or esi, 0xe36e627c
mov edi, eax
not edi
or edi, esi
sub eax, esi
add eax, edi
mov ebp, eax
not ebp
mov edi, ebp
and edi, 0xe48cec1d
mov esi, eax
and esi, 2
imul esi, edi
and ebp, 2
or edi, 2
imul edi, ebp
lea ebp, [eax + eax]
or ebp, 0x36e627c1
sub esi, eax
add esi, edi
lea edi, [esi + ebp]
mov eax, 0x13e0
sub eax, edi
or eax, 1
add eax, edi
add esi, ebp
add esi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, edi
mov edi, ebp
not edi
and ebp, 0x5a66
and esi, 0xa599
or esi, ebp
xor esi, 0x5a67
and edi, 1
or edi, esi
add eax, edi
add eax, 0xffffec20
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418b40
mov edx, dword [0x4482e0]
test edx, edx
je 0x418e60
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418e6b
inc eax
cmp edx, eax
jne 0x418c10
jmp 0x418e5e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418c4e
lea eax, [esp + 0x68]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x24
test eax, eax
js 0x418d57
push dword [esp + 0x78]
call dword [fcn.004470cc]
mov eax, dword [esp + 4]
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov dl, 1
movzx edi, word [esp + ecx*2 + 8]
mov esi, 0x1c919d83
sub esi, ecx
mov ebx, esi
or ebx, edi
xor esi, edi
add esi, edi
sub esi, ebx
or edi, ecx
or edi, 0xe36e627c
mov ebx, esi
not ebx
or ebx, edi
sub esi, edi
add esi, ebx
mov ebp, esi
not ebp
mov ebx, ebp
and ebx, 0xe48cec1d
mov edi, esi
and edi, 2
imul edi, ebx
and ebp, 2
or ebx, 2
imul ebx, ebp
lea ebp, [esi + esi]
or ebp, 0x36e627c1
sub edi, esi
add edi, ebx
lea ebx, [edi + ebp]
mov esi, 0x13e0
sub esi, ebx
or esi, 1
add esi, ebx
add edi, ebp
add edi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, ebx
mov ebx, ebp
not ebx
and ebp, 0x5a66
and edi, 0xa599
or edi, ebp
xor edi, 0x5a67
and ebx, 1
or ebx, edi
add esi, ebx
add esi, 0xffffec20
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418c70
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x418ea5
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x418e8b
inc esi
cmp ecx, esi
jne 0x418d40
jmp 0x418ea5
push dword [esp + 0x78]
call dword [fcn.004470cc]
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0x71a271a3
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + edx*2 + 8]
mov eax, 0x1c919d83
sub eax, edx
mov edi, eax
or edi, esi
xor eax, esi
add eax, esi
sub eax, edi
or esi, edx
or esi, 0xe36e627c
mov edi, eax
not edi
or edi, esi
sub eax, esi
add eax, edi
mov ebp, eax
not ebp
mov edi, ebp
and edi, 0xe48cec1d
mov esi, eax
and esi, 2
imul esi, edi
and ebp, 2
or edi, 2
imul edi, ebp
lea ebp, [eax + eax]
or ebp, 0x36e627c1
sub esi, eax
add esi, edi
lea edi, [esi + ebp]
mov eax, 0x13e0
sub eax, edi
or eax, 1
add eax, edi
add esi, ebp
add esi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, edi
mov edi, ebp
not edi
and ebp, 0x5a66
and esi, 0xa599
or esi, ebp
xor esi, 0x5a67
and edi, 1
or edi, esi
add eax, edi
add eax, 0xffffec20
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418d80
mov edx, dword [0x4482e0]
test edx, edx
je 0x418e60
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418e6b
inc eax
cmp edx, eax
jne 0x418e50
xor eax, eax
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [edi + eax*8 + 4]
xor eax, eax
cmp edx, esi
je 0x418e60
push ecx
push 4
push edx
push dword [0x4482e8]
call fcn.00439ac0
xor eax, eax
add esp, 0x10
jmp 0x418e60
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x418ea5
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
mov dword [esp + 0x60], 0
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1c919d83
sub edx, eax
mov edi, edx
or edi, esi
xor edx, esi
add edx, esi
sub edx, edi
or esi, eax
or esi, 0xe36e627c
mov edi, edx
not edi
or edi, esi
sub edx, esi
add edx, edi
mov ebx, edx
not ebx
mov edi, ebx
and edi, 0xe48cec1d
mov esi, edx
and esi, 2
imul esi, edi
and ebx, 2
or edi, 2
imul edi, ebx
lea ebx, [edx + edx]
or ebx, 0x36e627c1
sub esi, edx
add esi, edi
lea edi, [ebx + esi]
mov edx, 0x13e0
sub edx, edi
or edx, 1
add edx, edi
add esi, ebx
add esi, 0xec1f
mov ebx, 0x1b7313e0
sub ebx, edi
mov edi, ebx
not edi
and ebx, 0x5a66
and esi, 0xa599
or esi, ebx
xor esi, 0x5a67
and edi, 1
or edi, esi
add edx, edi
add edx, 0xffffec20
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418ec0
mov eax, dword [esp + 8]
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x418fc4
xor edx, edx
mov esi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x418fa0
inc edx
cmp ecx, edx
jne 0x418f90
jmp 0x418fc4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418fc4
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x1c
mov dword [esp + 0x3c], eax
mov dword [esp + 8], 0x335ff35a
xor ecx, ecx
mov al, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
mov ebx, 0xbd071dd1
sub ebx, ecx
mov ebp, esi
not ebp
lea edx, [esi + ebp*2]
mov edi, 0xfffffffe
sub edi, edx
lea edx, [esi + ebp*2]
inc edx
and edx, 0x2310a911
mov ebp, edi
and ebp, 0xdcef56ee
or ebp, edx
xor ebp, ebx
xor ebp, 0x2310a911
and edi, ebx
or edi, ebp
mov ebx, ecx
sub ebx, ecx
sub ebx, ecx
add ebx, 0x1dd1
and ebx, esi
lea edx, [edi + edi]
not edx
add edx, edi
or edx, ebx
add edx, 0xffffee90
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test al, 1
mov eax, 0
jne 0x418fe0
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 8]
jne 0x419b58
push dword [esp + 0x60]
call fcn.00438390
add esp, 4
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov esi, 0x1c919d83
sub esi, eax
mov ebx, esi
or ebx, edi
xor esi, edi
add esi, edi
sub esi, ebx
or edi, eax
or edi, 0xe36e627c
mov ebx, esi
not ebx
or ebx, edi
sub esi, edi
add esi, ebx
mov ebp, esi
not ebp
mov ebx, ebp
and ebx, 0xe48cec1d
mov edi, esi
and edi, 2
imul edi, ebx
and ebp, 2
or ebx, 2
imul ebx, ebp
lea ebp, [esi + esi]
or ebp, 0x36e627c1
sub edi, esi
add edi, ebx
lea ebx, [edi + ebp]
mov esi, 0x13e0
sub esi, ebx
or esi, 1
add esi, ebx
add edi, ebp
add edi, 0xec1f
mov ebp, 0x1b7313e0
sub ebp, ebx
mov ebx, ebp
not ebx
and ebp, 0x5a66
and edi, 0xa599
or edi, ebp
xor edi, 0x5a67
and ebx, 1
or ebx, edi
add esi, ebx
add esi, 0xffffec20
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x419080
mov eax, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x419182
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x67f3d776
je 0x419160
inc esi
cmp edx, esi
jne 0x419150
jmp 0x419182
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x419182
push 0
push ecx
push dword [esp + 0x5c]
push 5
push 0x10
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x1c
test eax, eax
js 0x419b4c
mov eax, dword [esp + 0x54]
mov edi, dword [eax]
lea esi, [esp + 0x80]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebx + edi + 0x44]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov ecx, esi
push 0
push eax
call fcn.00438590
mov ecx, esi
push 0x1000
call fcn.004385b0
test eax, eax
js 0x419b32
mov dword [esp + 0x58], ebx
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov dl, 1
nop
nop
nop
nop
movzx ebx, word [esp + eax*2 + 8]
mov edi, 0x1c919d83
sub edi, eax
mov ebp, edi
or ebp, ebx
xor edi, ebx
add edi, ebx
sub edi, ebp
or ebx, eax
or ebx, 0xe36e627c
mov ebp, edi
not ebp
or ebp, ebx
sub edi, ebx
add edi, ebp
mov ecx, edi
not ecx
mov ebp, ecx
and ebp, 0xe48cec1d
mov ebx, edi
and ebx, 2
imul ebx, ebp
and ecx, 2
or ebp, 2
imul ebp, ecx
lea ecx, [edi + edi]
or ecx, 0x36e627c1
sub ebx, edi
add ebx, ebp
lea ebp, [ecx + ebx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add ebx, ecx
add ebx, 0xec1f
mov ecx, 0x1b7313e0
sub ecx, ebp
mov ebp, ecx
not ebp
and ecx, 0x5a66
and ebx, 0xa599
or ebx, ecx
xor ebx, 0x5a67
and ebp, 1
or ebp, ebx
lea ecx, [edi + ebp]
add ecx, 0xffffec20
mov word [esp + eax*2 + 8], cx
mov eax, 1
test dl, 1
mov edx, 0
jne 0x419210
mov eax, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x419314
xor edi, edi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x4192f0
inc edi
cmp edx, edi
jne 0x4192e0
jmp 0x419314
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419314
lea eax, [esp + 0x48]
push eax
push 0xa
push dword [esp + 8]
push 0xc
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x18
test eax, eax
js 0x419b2a
mov esi, dword [esp + 0x48]
mov dword [esp + 8], 0x71a271a3
xor eax, eax
mov dl, 1
nop
nop
nop
nop
movzx ebx, word [esp + eax*2 + 8]
mov edi, 0x1c919d83
sub edi, eax
mov ebp, edi
or ebp, ebx
xor edi, ebx
add edi, ebx
sub edi, ebp
or ebx, eax
or ebx, 0xe36e627c
mov ebp, edi
not ebp
or ebp, ebx
sub edi, ebx
add edi, ebp
mov ecx, edi
not ecx
mov ebp, ecx
and ebp, 0xe48cec1d
mov ebx, edi
and ebx, 2
imul ebx, ebp
and ecx, 2
or ebp, 2
imul ebp, ecx
lea ecx, [edi + edi]
or ecx, 0x36e627c1
sub ebx, edi
add ebx, ebp
lea ebp, [ecx + ebx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add ebx, ecx
add ebx, 0xec1f
mov ecx, 0x1b7313e0
sub ecx, ebp
mov ebp, ecx
not ebp
and ecx, 0x5a66
and ebx, 0xa599
or ebx, ecx
xor ebx, 0x5a67
and ebp, 1
or ebp, ebx
lea ecx, [edi + ebp]
add ecx, 0xffffec20
mov word [esp + eax*2 + 8], cx
mov eax, 1
test dl, 1
mov edx, 0
jne 0x419330
mov eax, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x419435
xor edi, edi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x419410
inc edi
cmp edx, edi
jne 0x419400
jmp 0x419435
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419435
lea eax, [esp + 0x40]
push eax
push 0
push 0
push 1
push esi
push 0x14
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x419a18
push dword [esp + 0x40]
call fcn.00438390
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [esp + ecx*2 + 8]
mov edi, 0x1c919d83
sub edi, ecx
mov ebp, edi
or ebp, ebx
xor edi, ebx
add edi, ebx
sub edi, ebp
or ebx, ecx
or ebx, 0xe36e627c
mov ebp, edi
not ebp
or ebp, ebx
sub edi, ebx
add edi, ebp
mov esi, edi
not esi
mov ebp, esi
and ebp, 0xe48cec1d
mov ebx, edi
and ebx, 2
imul ebx, ebp
and esi, 2
or ebp, 2
imul ebp, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub ebx, edi
add ebx, ebp
lea ebp, [esi + ebx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add ebx, esi
add ebx, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebp
mov ebp, esi
not ebp
and esi, 0x5a66
and ebx, 0xa599
or ebx, esi
xor ebx, 0x5a67
and ebp, 1
or ebp, ebx
lea esi, [edi + ebp]
add esi, 0xffffec20
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x419470
mov ecx, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x41957f
xor edi, edi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x419550
inc edi
cmp edx, edi
jne 0x419540
jmp 0x41957f
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x41957f
lea ecx, [esp + 0x40]
push ecx
push dword [esp + 0x3c]
push eax
push 1
push dword [esp + 0x10]
push 0x14
push edx
push dword [0x4482e8]
mov edi, eax
call fcn.00439ac0
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x419a0f
mov ecx, dword [eax]
test ecx, ecx
je 0x419a0f
test byte [esi + 4], bh
add byte [eax], al
cmp byte [ecx], 1
jne 0x419a0f
cmp byte [ecx + 1], 0xf
ja 0x419a0f
cmp byte [ecx + 7], 5
jne 0x419a0f
cmp byte [ecx + 8], 0x12
jne 0x419a0f
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov bl, 1
movzx edx, word [esp + ecx*2 + 8]
mov edi, 0x1c919d83
sub edi, ecx
mov esi, edi
or esi, edx
xor edi, edx
add edi, edx
sub edi, esi
or edx, ecx
or edx, 0xe36e627c
mov esi, edi
not esi
or esi, edx
sub edi, edx
add edi, esi
mov esi, edi
not esi
mov ebp, esi
and ebp, 0xe48cec1d
mov edx, edi
and edx, 2
imul edx, ebp
and esi, 2
or ebp, 2
imul ebp, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub edx, edi
add edx, ebp
lea ebp, [esi + edx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add edx, esi
add edx, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebp
mov ebp, esi
not ebp
and esi, 0x5a66
and edx, 0xa599
or edx, esi
xor edx, 0x5a67
and ebp, 1
or ebp, edx
lea edx, [edi + ebp]
add edx, 0xffffec20
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test bl, 1
mov ebx, 0
jne 0x4195cb
mov ecx, dword [esp + 8]
mov edx, dword [0x4482e0]
test edx, edx
je 0x4196cd
xor edi, edi
mov ebx, dword [0x4482e4]
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41969f
inc edi
cmp edx, edi
jne 0x41968f
jmp 0x4196cd
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x4196cd
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0
push 3
push dword [esp + 0x10]
push 0x14
push edx
push dword [0x4482e8]
mov edi, eax
call fcn.00439ac0
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x419a0f
mov dword [esp], eax
push dword [esp + 0x5c]
call fcn.00438390
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov dl, 1
movzx eax, word [esp + ecx*2 + 8]
mov edi, 0x1c919d83
sub edi, ecx
mov esi, edi
or esi, eax
xor edi, eax
add edi, eax
sub edi, esi
or eax, ecx
or eax, 0xe36e627c
mov esi, edi
not esi
or esi, eax
sub edi, eax
add edi, esi
mov esi, edi
not esi
mov ebp, esi
and ebp, 0xe48cec1d
mov eax, edi
and eax, 2
imul eax, ebp
and esi, 2
or ebp, 2
imul ebp, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub eax, edi
add eax, ebp
lea ebp, [esi + eax]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add eax, esi
add eax, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebp
mov ebp, esi
not ebp
and esi, 0x5a66
and eax, 0xa599
or eax, esi
xor eax, 0x5a67
and ebp, 1
or ebp, eax
lea eax, [edi + ebp]
add eax, 0xffffec20
mov word [esp + ecx*2 + 8], ax
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x419706
mov ecx, dword [esp + 8]
mov eax, dword [0x4482e0]
test eax, eax
je 0x4197d6
xor edx, edx
mov edi, dword [0x4482e4]
mov esi, ebx
cmp dword [edi + edx*8], 0x6e83e51e
je 0x4197da
inc edx
cmp eax, edx
jne 0x4197c6
jmp 0x419807
mov esi, ebx
jmp 0x419807
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0x419807
lea ecx, [esp + 0x5c]
push ecx
push dword [esp + 0x54]
push esi
push 3
push dword [esp + 0x48]
push 0x14
push eax
push dword [0x4482e8]
mov edi, esi
call fcn.00439ac0
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x419a03
mov ecx, dword [esi]
test ecx, ecx
je 0x419a03
movzx edx, byte [esp + 0x6c]
mov dh, byte [esp + 0x6d]
movzx ebx, byte [esp + 0x6e]
mov bh, byte [esp + 0x6f]
movzx eax, byte [esp + 0x70]
mov ah, byte [esp + 0x71]
mov byte [esp + 0x38], ah
mov ah, byte [esp + 0x72]
mov byte [esp + 0x50], ah
mov ah, byte [esp + 0x73]
mov byte [esp + 0x47], ah
mov edi, esi
add edi, 0xb
jmp 0x419859
add edi, 0xc
dec ecx
je 0x419a03
cmp byte [edi - 7], dl
jne 0x41984f
cmp byte [edi - 6], dh
jne 0x41984f
cmp byte [edi - 5], bl
jne 0x41984f
cmp byte [edi - 4], bh
jne 0x41984f
cmp byte [edi - 3], al
jne 0x41984f
mov ah, byte [esp + 0x38]
cmp byte [edi - 2], ah
jne 0x41984f
mov ah, byte [esp + 0x50]
cmp byte [edi - 1], ah
jne 0x41984f
mov ah, byte [esp + 0x47]
cmp byte [edi], ah
jne 0x41984f
mov dword [esp + 0x38], esi
mov dword [esp + 0x90], 0xc
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 1
mov dword [esp + 8], 0x18
lea eax, [esp + 0xc]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x90]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x64], 0x71a271a3
xor eax, eax
mov dl, 1
movzx ebx, word [esp + eax*2 + 0x64]
mov edi, 0x1c919d83
sub edi, eax
mov esi, edi
or esi, ebx
xor edi, ebx
add edi, ebx
sub edi, esi
or ebx, eax
or ebx, 0xe36e627c
mov esi, edi
not esi
or esi, ebx
sub edi, ebx
add edi, esi
mov esi, edi
not esi
mov ebp, esi
and ebp, 0xe48cec1d
mov ebx, edi
and ebx, 2
imul ebx, ebp
and esi, 2
or ebp, 2
imul ebp, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub ebx, edi
add ebx, ebp
lea ebp, [esi + ebx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add ebx, esi
add ebx, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebp
mov ebp, esi
not ebp
and esi, 0x5a66
and ebx, 0xa599
or ebx, esi
xor ebx, 0x5a67
and ebp, 1
or ebp, ebx
lea esi, [edi + ebp]
add esi, 0xffffec20
mov word [esp + eax*2 + 0x64], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x4198f2
mov eax, dword [esp + 0x64]
mov edx, dword [0x4482e0]
test edx, edx
je 0x4199f3
xor edi, edi
mov ebx, dword [0x4482e4]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x4199c6
inc edi
cmp edx, edi
jne 0x4199b6
jmp 0x4199f3
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x4199f3
lea eax, [esp + 0x4c]
push eax
push 2
push 0
lea eax, [esp + 0x14]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x24
test eax, eax
jns 0x4199ff
mov dword [esp + 0x4c], 0
mov esi, dword [esp + 0x38]
push esi
call fcn.004383b0
add esp, 4
mov eax, dword [esp]
push eax
call fcn.004383b0
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 8], 0x71a271a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [esp + ecx*2 + 8]
mov edi, 0x1c919d83
sub edi, ecx
mov esi, edi
or esi, ebx
xor edi, ebx
add edi, ebx
sub edi, esi
or ebx, ecx
or ebx, 0xe36e627c
mov esi, edi
not esi
or esi, ebx
sub edi, ebx
add edi, esi
mov esi, edi
not esi
mov ebp, esi
and ebp, 0xe48cec1d
mov ebx, edi
and ebx, 2
imul ebx, ebp
and esi, 2
or ebp, 2
imul ebp, esi
lea esi, [edi + edi]
or esi, 0x36e627c1
sub ebx, edi
add ebx, ebp
lea ebp, [esi + ebx]
mov edi, 0x13e0
sub edi, ebp
or edi, 1
add edi, ebp
add ebx, esi
add ebx, 0xec1f
mov esi, 0x1b7313e0
sub esi, ebp
mov ebp, esi
not ebp
and esi, 0x5a66
and ebx, 0xa599
or ebx, esi
xor ebx, 0x5a67
and ebp, 1
or ebp, ebx
lea esi, [edi + ebp]
add esi, 0xffffec20
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x419a30
mov ecx, dword [0x4482e0]
test ecx, ecx
lea esi, [esp + 0x80]
je 0x419b2a
mov edx, dword [esp + 8]
xor edi, edi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x419b10
inc edi
cmp ecx, edi
jne 0x419b00
jmp 0x419b2a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x419b2a
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov ecx, esi
call fcn.004386b0
cmp dword [esp + 0x4c], 0
jne 0x419b4c
add ebx, edi
mov edi, dword [ebx]
test edi, edi
jne 0x4191a0
push dword [esp + 0x54]
call fcn.004383b0
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x418e60