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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov eax, dword [0x45010c]
mov dword [esp + 0x3c], 0x43ad418d
mov dword [esp + 0x40], 0x47af45de
mov dword [esp + 0x44], 0x4ba649a4
mov dword [esp + 0x48], 0x4f614dad
mov dword [esp + 0x4c], 0x735c71a5
mov dword [esp + 0x50], 0x775675a4
mov dword [esp + 0x54], 0x7b8d7950
mov dword [esp + 0x58], 0x7f907d95
mov dword [esp + 0x5c], 0x638d6184
mov dword [esp + 0x60], 0x67f565f3
mov dword [esp + 0x64], 0x6ba46948
mov dword [esp + 0x68], 0x6f4e6d98
mov dword [esp + 0x6c], 0x13c211c1
mov dword [esp + 0x70], 0x17c6153a
mov dword [esp + 0x74], 0x1b3a19c3
mov dword [esp + 0x78], 0x1ff71deb
mov dword [esp + 0x7c], 0x3d401ee
mov dword [esp + 0x80], 0x7dd05d0
mov dword [esp + 0x84], 0xb920928
mov dword [esp + 0x88], 0xfda0dda
mov dword [esp + 0x8c], 0x33123119
mov dword [esp + 0x90], 0x37a635f5
mov dword [esp + 0x94], 0x3bd639a8
mov dword [esp + 0x98], 0x3fc93dd9
mov dword [esp + 0x9c], 0x23c021c5
mov dword [esp + 0xa0], 0x27cf25ef
mov dword [esp + 0xa4], 0x2b0529bc
mov dword [esp + 0xa8], 0x2ffd2df9
mov dword [esp + 0xac], 0xd3fcd107
mov dword [esp + 0xb0], 0xd700d507
mov dword [esp + 0xb4], 0xdbf2d9f8
mov dword [esp + 0xb8], 0xdf16dd17
mov dword [esp + 0xbc], 0xc30fc134
mov dword [esp + 0xc0], 0xc7eac508
mov dword [esp + 0xc4], 0xcb26c9e8
mov dword [esp + 0xc8], 0xcf25cd25
mov dword [esp + 0xcc], 0xf3d2f115
mov dword [esp + 0xd0], 0xf713f533
mov dword [esp + 0xd4], 0xfb11f91b
mov dword [esp + 0xd8], 0xffd7fd13
mov dword [esp + 0xdc], 0xe321e1c0
mov dword [esp + 0xe0], 0xe774e50c
mov dword [esp + 0xe4], 0xeb07e907
mov dword [esp + 0xe8], 0xefc1ed09
mov dword [esp + 0xec], 0x93439141
mov dword [esp + 0xf0], 0x97b8954d
mov dword [esp + 0xf4], 0x9bb49948
mov dword [esp + 0xf8], 0x9fb09d4c
mov dword [esp + 0xfc], 0x83a28150
mov dword [esp + 0x100], 0x87678577
mov dword [esp + 0x104], 0x8b6b896e
mov dword [esp + 0x108], 0x8f678d1e
mov dword [esp + 0x10c], 0xb367b19f
mov dword [esp + 0x110], 0xb761b567
mov dword [esp + 0x114], 0xbb69b996
mov dword [esp + 0x118], 0xbfbebd6a
mov byte [esp + 0x11c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe0
ja 0x4109ab
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
mov esi, ecx
xor esi, 0x7264bf90
and ecx, 0xf264bf90
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov edx, ecx
not edx
and edx, 0xd0
and ecx, 0x2f
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe1
jb 0x410950
lea ebp, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ebp
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44af74]
xor ebx, ebx
jmp 0x410e14
mov eax, dword [0x450110]
mov dword [esp + 0x3c], 0x818684c1
mov dword [esp + 0x40], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x410a3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
mov edi, ecx
xor edi, 0xda45a0e1
and ecx, 0xda45a0e1
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x9b
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x410a00
movzx ecx, word [esp + 0x3c]
push 0
push ecx
push 0x450140
push esi
call eax
mov edi, eax
xor eax, eax
test edi, edi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x44af7c]
mov eax, dword [0x450114]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x3820100
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x410ad7
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov ebx, ecx
xor ebx, 0x6ca3b4c0
and ecx, 0xeca3b4c0
lea ecx, [ebx + ecx*2]
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
xor edx, 0xc0
and ecx, 0x3f
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x410a90
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3c], 0x1d707d4
mov dword [esp + 0x40], 0xdde03dd
mov word [esp + 0x44], 0xf0c
mov dword [esp + 0x46], 0
mov dword [esp + 4], 0
mov ebx, dword [esp + 4]
cmp ebx, 0xd
ja 0x410b4c
nop
nop
nop
nop
nop
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x3c]
mov eax, ebx
xor eax, 0xce01fac1
and ebx, 0xce01fac1
lea eax, [eax + ebx*2]
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x3b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x3c], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xe
jb 0x410b10
push edx
push 0
push 0
push 0
push dword [esp + 0x260]
push ebp
push edi
call dword [esp + 0x24]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44af84]
xor ebx, ebx
jmp dword [0x44afb8]
mov eax, dword [esp + 0x268]
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x44af8c]
push eax
push eax
push eax
push eax
push ebx
call dword [0x45011c]
mov edx, dword [esp + 0x254]
movzx eax, byte [0x450244]
mov dword [esp + 8], ebx
jmp dword [eax*4 + 0x44af94]
mov dword [esp + 0xc], 0xffd09cf
mov dword [esp + 0x10], 0x3fd0dff
mov dword [esp + 0x14], 0x7e301f9
mov dword [esp + 0x18], 0x1b3a05ca
mov dword [esp + 0x1c], 0x1ffd19fb
mov dword [esp + 0x20], 0x13e81dfb
mov dword [esp + 0x24], 0x17eb11f3
mov dword [esp + 0x28], 0x2bc9159f
mov dword [esp + 0x2c], 0x2fa729ce
mov dword [esp + 0x30], 0x23ef2ddc
mov word [esp + 0x34], 0x2120
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x410c72
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
lea edx, [eax + eax]
and edx, 0xda899384
sub eax, edx
add eax, 0xed44c9c2
mov ebx, eax
and ebx, edx
xor eax, edx
lea eax, [eax + ebx*2]
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x36
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x410c30
movzx eax, word [esp + 0xc]
test ax, ax
je 0x410ca2
lea ebp, [esp + 0x3c]
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410c90
mov word [ebp], 0
movzx eax, word [0x450246]
test ax, ax
je 0x410cd6
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x450248]
add ecx, 2
test ax, ax
jne 0x410cc0
add ebp, ecx
mov word [ebp], 0
mov eax, dword [0x450120]
mov dword [esp + 4], 0x6f8e8988
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x410d3b
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
mov ebx, ecx
xor ebx, 0xbc6d3562
and ecx, 0x3c6d3562
lea ecx, [ebx + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x16
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x410d00
lea ecx, [esp + 0x3c]
push dword [esp + 4]
push 0xffffffffffffffff
push ecx
mov ebx, dword [esp + 0x14]
push ebx
call eax
mov edx, dword [esp + 0x254]
xor eax, eax
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov ebp, dword [esp + 0x268]
push ebp
push dword [esp + 0x264]
push dword [esp + 0x264]
push eax
push edx
push ebx
call dword [0x450124]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44af9c]
xor ebx, ebx
jmp 0x410ddc
mov eax, dword [esp + 0x260]
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x3c]
push ecx
push ebp
push eax
push ebx
call dword [0x450134]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44afa4]
push 0
push dword [esp + 0xc]
call dword [0x450128]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44afac]
jmp 0x410ddc
mov bl, 1
push dword [esp + 8]
call dword [0x450138]
jmp dword [0x44afb8]
push edi
call dword [0x450138]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call dword [0x450138]
jmp dword [0x44afc0]
push esi
call dword [0x450138]
mov eax, ebx
add esp, 0x23c
pop esi
pop edi
pop ebx
pop ebp
ret