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

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], edi
xor esi, esi
mov dword [esp + 0x30], 0x19362960
mov byte [esp + 0x34], 0x6f
mov al, byte [esp + esi + 0x30]
xor al, 0x45
movzx eax, al
mov word [esp + esi*2 + 0x6c], ax
inc esi
cmp esi, 5
jl 0x41db2c
xor eax, eax
mov dword [esp + 0x28], 0xcae5fab3
mov word [esp + 0x76], ax
xor ecx, ecx
mov word [esp + 0x2c], 0xfab3
mov byte [esp + 0x2e], 0xe5
mov al, byte [esp + ecx + 0x28]
xor al, 0x96
movzx eax, al
mov word [esp + ecx*2 + 0x78], ax
inc ecx
cmp ecx, 7
jl 0x41db5d
mov ebx, dword [esp + 0x2e4]
xor eax, eax
mov word [esp + 0x86], ax
imul eax, dword [0x42bb34], 0x7545
movzx ecx, ax
and eax, 0xcf00
test ebx, ebx
jne 0x41dbc1
imul eax, ecx, 0x9242
xor eax, 0xbb16
mov word [0x42bb30], ax
movzx eax, ax
imul eax, eax, 0xede9c9d7
or eax, 0x975e9a30
mov dword [0x42bb34], eax
jmp 0x41e2f5
add eax, 0xffffb0aa
mov word [0x42bb30], ax
movzx eax, ax
xor eax, 0x5c9b5ccc
mov dword [0x42bb34], eax
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.0042318b
pop ecx
pop ecx
mov ecx, dword [0x42bb34]
mov ebp, eax
push 0x57
add ecx, 0x4ab7
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], 0xff
pop edx
mov dword [esp + 0x30], edx
test ebp, ebp
je 0x41df6d
imul eax, ecx, 0xfe22
xor ecx, ecx
inc ecx
or eax, 0xfcfe
add eax, edx
mov edx, 0x54e1cc7b
or eax, 0xf910
mov word [0x42bb30], ax
movzx eax, ax
xor eax, 0x3fdb2388
mov dword [0x42bb34], eax
lea eax, [esp + 0x88]
push eax
push ebp
call fcn.0041568d
call eax
movzx edx, word [0x42bb30]
mov ecx, 0x4b1e
imul edx, ecx
mov esi, eax
mov ecx, 0x45c1
mov dword [esp + 0x3c], esi
sub cx, dx
mov edx, 0x17299c7b
mov word [0x42bb30], cx
xor ecx, ecx
inc ecx
call fcn.0041568d
mov dx, word [0x42bb30]
mov dword [esp + 0x24], eax
mov eax, 0x46e2
and dx, ax
movzx ecx, dx
cmp esi, 0xffffffff
je 0x41df42
mov ebp, dword [esp + 0x24]
or ecx, 0xb8e
sub ecx, 0x33a8
mov word [esp + 0x10], 0xf0f0
xor ecx, 0xffcd
or ecx, 0xb5c4
push 0x2e
pop eax
mov word [esp + 0x24], ax
xor eax, eax
mov word [esp + 0x26], ax
xor edx, edx
mov al, byte [esp + edx + 0x10]
xor al, 0xde
movzx eax, al
mov word [esp + edx*2 + 0x28], ax
inc edx
cmp edx, 2
jl 0x41dcd0
xor eax, eax
mov word [esp + 0x2c], ax
mov eax, 0xaa15
or cx, ax
movzx eax, cx
or eax, 0xb02da50d
mov word [0x42bb30], cx
mov dword [0x42bb34], eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41df0b
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41df0b
mov ax, word [0x42bb30]
mov ecx, 0x4833
xor ax, cx
movzx edx, ax
or edx, 0x2803333c
mov word [0x42bb30], ax
test byte [esp + 0x88], 0x10
mov dword [0x42bb34], edx
je 0x41def0
mov dword [esp + 0x14], 0xddf4eda6
xor ecx, ecx
mov word [esp + 0x18], 0xeda6
mov byte [esp + 0x1a], 0xf4
movzx eax, byte [esp + ecx + 0x14]
add ax, 0x7f
and ax, word [esp + 0x48]
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 7
jl 0x41dd86
xor eax, eax
and edx, 0x4243
mov word [esp + 0x5a], ax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x50]
mov word [0x42bb30], dx
push edi
push eax
call fcn.0042318b
mov edx, dword [0x42bb34]
mov edi, eax
xor edx, 0xeb83
add esp, 0xc
mov word [0x42bb30], dx
test edi, edi
je 0x41deec
mov dword [esp + 0x1c], 0xa1e5de97
xor ecx, ecx
mov word [esp + 0x20], 0xde97
mov esi, 0xff
mov byte [esp + 0x22], 0xe5
movzx eax, byte [esp + ecx + 0x1c]
sub ax, 0x72
and ax, si
mov word [esp + ecx*2 + 0x5c], ax
inc ecx
cmp ecx, 7
jl 0x41de01
xor eax, eax
movzx ecx, dx
mov word [esp + 0x6a], ax
movzx eax, dx
xor eax, 0x58ec6a13
mov dword [0x42bb34], eax
mov eax, 0xd335
imul ecx, eax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x64]
push eax
mov word [0x42bb30], cx
call fcn.0042318b
movzx edx, word [0x42bb30]
mov esi, eax
add esp, 0xc
lea ecx, [edx - 0x4ebdd03a]
test esi, esi
je 0x41dec1
or edx, 0x6119
lea ecx, [edx - 0x18ec83bb]
mov edx, esi
imul eax, ecx, 0x1a10
mov dword [0x42bb34], ecx
mov ecx, edi
mov word [0x42bb30], ax
lea eax, [ebx - 1]
push eax
push dword [esp + 0x2e4]
call fcn.0041db09
and dword [0x42bb34], 0x1211a818
mov eax, 0xd4b
or word [0x42bb30], ax
push esi
call fcn.004056f0
mov ecx, dword [0x42bb34]
add esp, 0xc
and ecx, 0xc5c2
imul eax, ecx, 0x223d
push edi
mov word [0x42bb30], ax
movzx eax, ax
imul eax, eax, 0xf4f05e70
mov dword [0x42bb34], eax
call fcn.004056f0
mov esi, dword [esp + 0x40]
pop ecx
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x88]
push eax
push esi
call ebp
test eax, eax
je 0x41df17
mov cx, word [0x42bb30]
jmp 0x41dcbf
sub dword [0x42bb34], 0x63bce7d5
jmp 0x41def0
mov eax, dword [0x42bb34]
xor ecx, ecx
add eax, 0x1b1e
mov edx, 0x83fbc401
push esi
inc ecx
mov word [0x42bb30], ax
call fcn.0041568d
call eax
mov dx, word [0x42bb30]
mov ebp, dword [esp + 0x40]
movzx eax, dx
or eax, 0xbf43eec8
add eax, 0x4e06c778
mov dword [0x42bb34], eax
add eax, 0x5898
push ebp
mov word [0x42bb30], ax
call fcn.004056f0
pop ecx
mov cx, word [0x42bb30]
push dword [esp + 0x2e0]
mov eax, 0x9fe0
or cx, ax
lea eax, [esp + 0x7c]
push edi
push eax
mov word [0x42bb30], cx
call fcn.0042318b
movzx ecx, word [0x42bb30]
mov ebp, eax
movzx eax, word [0x42bb30]
add esp, 0xc
imul esi, ecx, 0xc48520d5
mov ecx, 0x997c
imul eax, ecx
mov dword [esp + 0x3c], ebp
or esi, 0x61e53ced
mov dword [0x42bb34], esi
mov word [0x42bb30], ax
test ebp, ebp
je 0x41e2f5
xor esi, 0x88
xor ecx, ecx
or esi, 0xfa65
mov edx, 0x54e1cc7b
inc ecx
lea eax, [esi + 0x1cdc]
mov word [0x42bb30], ax
movzx eax, ax
imul eax, eax, 0xd289e140
mov dword [0x42bb34], eax
lea eax, [esp + 0x88]
push eax
push ebp
call fcn.0041568d
call eax
mov ebx, eax
xor ecx, ecx
mov eax, 0x5ac
mov edx, 0x17299c7b
or word [0x42bb30], ax
inc ecx
call fcn.0041568d
mov edx, dword [0x42bb34]
and edx, 0xd883c14e
mov dword [esp + 0x40], eax
mov dword [0x42bb34], edx
cmp ebx, 0xffffffff
je 0x41e2c5
and edx, 0x7b9
mov word [esp + 0x10], 0x4747
mov ebp, eax
push 0x2e
pop eax
mov word [esp + 0x24], ax
xor eax, eax
mov word [esp + 0x26], ax
xor ecx, ecx
mov al, byte [esp + ecx + 0x10]
xor al, 0x69
movzx eax, al
mov word [esp + ecx*2 + 0x28], ax
inc ecx
cmp ecx, 2
jl 0x41e065
xor eax, eax
mov word [esp + 0x2c], ax
movzx eax, dx
xor eax, 0x36261256
mov dword [0x42bb34], eax
or eax, 0xe7cc
mov word [0x42bb30], ax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41e266
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41e266
imul eax, dword [0x42bb34], 0x13b2
mov ecx, 0xc0c
sub ecx, eax
test byte [esp + 0x88], 0xa7
mov word [0x42bb30], cx
je 0x41e285
mov dword [esp + 0x1c], 0xd7f8e7ae
xor edx, edx
mov word [esp + 0x20], 0xe7ae
mov byte [esp + 0x22], 0xf8
mov al, byte [esp + edx + 0x1c]
xor al, 0x8b
movzx eax, al
mov word [esp + edx*2 + 0x5c], ax
inc edx
cmp edx, 7
jl 0x41e10c
xor eax, eax
mov word [esp + 0x6a], ax
mov eax, 0x6104
add cx, ax
movzx eax, cx
xor eax, 0xa9a35f73
mov word [0x42bb30], cx
mov dword [0x42bb34], eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x60]
push edi
push eax
call fcn.0042318b
movzx edx, word [0x42bb30]
mov esi, eax
imul ecx, edx, 0xb2507c76
add esp, 0xc
mov dword [0x42bb34], ecx
test esi, esi
je 0x41e285
mov dword [esp + 0x14], 0x86cac37c
xor ecx, ecx
mov word [esp + 0x18], 0xc37c
mov edi, 0xff
mov byte [esp + 0x1a], 0xca
movzx eax, byte [esp + ecx + 0x14]
sub ax, word [esp + 0x30]
and ax, di
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 7
jl 0x41e191
xor eax, eax
mov word [esp + 0x5a], ax
lea eax, [edx + 0x3c9ede77]
mov dword [0x42bb34], eax
imul eax, eax, 0xe963
mov word [0x42bb30], ax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x54]
push eax
call fcn.0042318b
movzx edx, word [0x42bb30]
mov ecx, 0x1cd5
imul edx, ecx
mov edi, eax
add esp, 0xc
movzx ecx, dx
imul ecx, ecx, 0xdcd81ccb
mov dword [0x42bb34], ecx
test edi, edi
je 0x41e243
lea eax, [ecx + 0x5bc6]
mov edx, edi
mov word [0x42bb30], ax
lea eax, [ecx - 0x7ef70d36]
mov ecx, esi
mov dword [0x42bb34], eax
call fcn.0041e300
movzx eax, word [0x42bb30]
sub eax, 0x20d9f7e4
push edi
mov dword [0x42bb34], eax
call fcn.004056f0
mov dx, word [0x42bb30]
pop ecx
mov eax, 0x3d6e
mov ecx, 0x1006
xor ax, dx
add ax, cx
push esi
mov word [0x42bb30], ax
call fcn.004056f0
mov edi, dword [esp + 0x3c]
pop ecx
jmp 0x41e285
mov ecx, dword [0x42bb34]
mov eax, ecx
or eax, 0xdf5d
or ecx, 0xce1e357a
mov word [0x42bb30], ax
mov dword [0x42bb34], ecx
lea eax, [esp + 0x88]
push eax
push ebx
call ebp
test eax, eax
je 0x41e2a0
mov dx, word [0x42bb30]
jmp 0x41e054
movzx eax, word [0x42bb30]
xor ecx, ecx
xor eax, 0x2472d5ff
mov edx, 0x83fbc401
push ebx
inc ecx
mov dword [0x42bb34], eax
call fcn.0041568d
call eax
mov ebp, dword [esp + 0x3c]
mov cx, word [0x42bb30]
mov eax, 0x2bd2
sub cx, ax
mov eax, 0x68a8
and cx, ax
mov eax, 0xdd35
movzx ecx, cx
imul ecx, eax
push ebp
mov word [0x42bb30], cx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret