Function at 0x40da50
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, 0xfffffff0
sub esp, 0x2d0
mov esi, esp
mov dword [esi + 0x18c], 0x43ac7c
mov dword [esi + 0x4c], 0
mov eax, dword [str.a996f761dbcbc629c84bcf178e3f82d2]
mov dword [esi + 0x12c], eax
mov al, byte [esi + 0x48]
mov byte [esi + 0x50], al
mov dword [esi + 0x1a3], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x19c], 0
mov dword [esi + 0x198], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x190], 0
mov byte [esi + 0x190], 0xe6
mov byte [esi + 0x191], 0xa3
mov byte [esi + 0x192], 0xaf
mov byte [esi + 0x193], 0xf3
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x17
jae 0x40db1c
jmp 0x40daea
mov eax, dword [esi]
mov ecx, dword [esi]
mov cl, byte [esi + ecx + 0x190]
add al, 0xde
xor al, cl
add al, 0xee
mov ecx, dword [esi]
mov byte [esi + ecx + 0x190], al
mov eax, dword [esi]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, 0x17
jb 0x40daea
jmp 0x40db1c
mov edi, dword [str.BVnUqo___AlpinaLogs]
mov al, byte [esi + 0x44]
mov byte [esi + 0x54], al
mov byte [esi + 0x10], 0xcd
mov byte [esi + 0x11], 0xc2
mov byte [esi + 0x12], 0xb6
mov byte [esi + 0x13], 0xee
mov byte [esi + 0x14], 0xb6
mov byte [esi + 0x15], 0xc4
mov byte [esi + 0x16], 0x39
mov byte [esi + 0x17], 0x3e
mov byte [esi + 0x18], 0x4e
mov byte [esi + 0x19], 0x38
mov byte [esi + 0x1a], 0x31
mov byte [esi + 0x1b], 0x46
mov byte [esi + 0x1c], 0x3d
mov byte [esi + 0x1d], 0x4e
mov byte [esi + 0x1e], 0x41
mov byte [esi + 0x1f], 0x3e
mov byte [esi + 0x20], 0x37
mov byte [esi + 0x21], 0x30
mov byte [esi + 0x22], 0xf0
mov byte [esi + 0x23], 0x41
mov byte [esi + 0x24], 0x35
mov byte [esi + 0x25], 0x47
mov byte [esi + 0x26], 3
mov byte [esi + 0x27], 0x1b
mov byte [esi + 0x28], 0x16
mov byte [esi + 0x29], 0x15
mov byte [esi + 0x2a], 0xe8
mov byte [esi + 0x2b], 0x57
mov byte [esi + 0x2c], 0x29
mov byte [esi + 0x2d], 0x2d
mov byte [esi + 0x2e], 0xb
mov byte [esi + 0x2f], 0xcf
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x20
jae 0x40dbff
jmp 0x40dbb9
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [esi + ecx + 0x10]
mov ecx, eax
add ecx, 0x9e22d27a
lea eax, [eax + edx - 0x61dd2d86]
and ecx, edx
add ecx, ecx
mov edx, eax
not edx
mov ebx, ecx
and ebx, edx
not ecx
and eax, ecx
sub eax, ebx
add al, 0xaa
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x10], al
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0x20
jb 0x40dbb9
jmp 0x40dbff
sub esp, 8
lea eax, [esi + 0x10]
mov dword [esp + 4], eax
lea ebx, [esi + 0x1bc]
mov dword [esp], ebx
call fcn.0040e4b0
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040e4b0
lea ecx, [esi + 0x190]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040e4b0
mov ecx, dword [esi + 0x12c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040e4b0
add esp, 8
mov dword [esi + 0x184], eax
mov eax, dword [esi + 0x184]
sub eax, ebx
mov dword [esi + 0x180], eax
mov eax, dword [esi + 0x180]
mov cl, byte [esi + 0x3c]
mov byte [esi + 0x58], cl
mov byte [esi + 0x60], 0xdb
mov byte [esi + 0x61], 0x91
mov byte [esi + 0x62], 0xe1
mov byte [esi + 0x63], 0x93
mov byte [esi + 0x64], 0xe4
mov byte [esi + 0x65], 0x9d
mov byte [esi + 0x66], 0xe0
mov byte [esi + 0x67], 0x9f
mov byte [esi + 0x68], 0xf1
mov byte [esi + 0x69], 0x99
mov byte [esi + 0x6a], 0xee
mov byte [esi + 0x6b], 0x9b
mov byte [esi + 0x6c], 0xe6
mov byte [esi + 0x6d], 0xa5
mov byte [esi + 0x6e], 0x93
mov byte [esi + 0x6f], 0xa7
mov byte [esi + 0x70], 0xfa
mov byte [esi + 0x71], 0xa1
mov byte [esi + 0x72], 0xdb
mov byte [esi + 0x73], 0xa3
mov byte [esi + 0x74], 0xd2
mov byte [esi + 0x75], 0xad
mov byte [esi + 0x76], 0xc3
mov byte [esi + 0x77], 0xaf
mov byte [esi + 0x78], 0x94
mov byte [esi + 0x79], 0xa9
mov byte [esi + 0x7a], 0x88
mov byte [esi + 0x7b], 0xab
mov byte [esi + 0x7c], 0xc9
mov byte [esi + 0x7d], 0xb5
mov byte [esi + 0x7e], 0xc4
mov byte [esi + 0x7f], 0xb7
mov byte [esi + 0x80], 0xc6
mov byte [esi + 0x81], 0xb1
mov byte [esi + 0x82], 0xc4
mov byte [esi + 0x83], 0xb3
mov byte [esi + 0x84], 0xd9
mov byte [esi + 0x85], 0xbd
mov byte [esi + 0x86], 0xd1
mov byte [esi + 0x87], 0xbf
mov byte [esi + 0x88], 0xdd
mov byte [esi + 0x89], 0xb9
mov byte [esi + 0x8a], 0xc4
mov byte [esi + 0x8b], 0xbb
mov byte [esi + 0x8c], 0xd1
mov byte [esi + 0x8d], 0xc5
mov byte [esi + 0x8e], 0xb5
mov byte [esi + 0x8f], 0xc7
mov byte [esi + 0x90], 0xb0
mov byte [esi + 0x91], 0xc1
mov byte [esi + 0x92], 0xf1
mov byte [esi + 0x93], 0xc3
mov byte [esi + 0x94], 0xba
mov byte [esi + 0x95], 0xcd
mov byte [esi + 0x96], 0xfb
mov byte [esi + 0x97], 0xcf
mov byte [esi + 0x98], 0xb7
mov byte [esi + 0x99], 0xc9
mov byte [esi + 0x9a], 0xb1
mov byte [esi + 0x9b], 0xcb
mov byte [esi + 0x9c], 0xb3
mov byte [esi + 0x9d], 0xd5
mov byte [esi + 0x9e], 0xe3
mov byte [esi + 0x9f], 0xd7
mov byte [esi + 0xa0], 0xb8
mov byte [esi + 0xa1], 0xd1
mov byte [esi + 0xa2], 0xa1
mov byte [esi + 0xa3], 0xd3
mov byte [esi + 0xa4], 0xa0
mov byte [esi + 0xa5], 0xdd
mov byte [esi + 0xa6], 0xab
mov byte [esi + 0xa7], 0xdf
mov byte [esi + 0xa8], 0xe9
mov byte [esi + 0xa9], 0xd9
mov byte [esi + 0xaa], 0xa7
mov byte [esi + 0xab], 0xdb
mov byte [esi + 0xac], 0xa8
mov byte [esi + 0xad], 0xe5
mov byte [esi + 0xae], 0x90
mov byte [esi + 0xaf], 0xe7
mov byte [esi + 0xb0], 0x89
mov byte [esi + 0xb1], 0xe1
mov byte [esi + 0xb2], 0x96
mov byte [esi + 0xb3], 0xe3
mov byte [esi + 0xb4], 0x8f
mov byte [esi + 0xb5], 0xed
mov byte [esi + 0xb6], 0x9d
mov byte [esi + 0xb7], 0xef
mov byte [esi + 0xb8], 0x82
mov byte [esi + 0xb9], 0xe9
mov byte [esi + 0xba], 0x87
mov byte [esi + 0xbb], 0xeb
mov byte [esi + 0xbc], 0x86
mov byte [esi + 0xbd], 0xf5
mov byte [esi + 0xbe], 0xe3
mov byte [esi + 0xbf], 0xf7
mov byte [esi + 0xc0], 0xfc
mov byte [esi + 0xc1], 0xf1
mov byte [esi + 0xc2], 0xf0
mov byte [esi + 0xc3], 0xf3
mov dword [esi + 0xd0], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 8]
cmp ecx, 0x74
jae 0x40df32
jmp 0x40deff
mov ecx, dword [esi + 8]
mov edx, dword [esi + 8]
movzx edx, byte [esi + edx + 0x60]
mov edi, ecx
add edi, 0x13
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0x8e
mov edx, dword [esi + 8]
mov byte [esi + edx + 0x60], cl
mov ecx, dword [esi + 8]
inc ecx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
cmp ecx, 0x74
jb 0x40deff
jmp 0x40df32
mov cl, byte [esi + 0x38]
mov byte [esi + 0x5c], cl
mov byte [esi + 0xe0], 0xdf
mov byte [esi + 0xe1], 0xd
mov byte [esi + 0xe2], 0xe3
mov byte [esi + 0xe3], 3
mov byte [esi + 0xe4], 0x90
mov byte [esi + 0xe5], 1
mov byte [esi + 0xe6], 0x9f
mov byte [esi + 0xe7], 7
mov byte [esi + 0xe8], 4
mov byte [esi + 0xe9], 5
mov byte [esi + 0xfe], 0
mov dword [esi + 0xfa], 0
mov dword [esi + 0xf6], 0
mov dword [esi + 0xf2], 0
mov dword [esi + 0xee], 0
mov dword [esi + 0xea], 0
mov dword [esi + 0xc], 0
mov ecx, dword [esi + 0xc]
cmp ecx, 0x1f
jae 0x40e009
jmp 0x40dfc8
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0xc]
movzx edx, byte [esi + edx + 0xe0]
mov edi, ecx
add edi, 0xa6ee33d6
lea ecx, [ecx + edx - 0x5911cc2a]
and edi, edx
add edi, edi
sub ecx, edi
add cl, 0x26
mov edx, dword [esi + 0xc]
mov byte [esi + edx + 0xe0], cl
mov ecx, dword [esi + 0xc]
inc ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
cmp ecx, 0x1f
jb 0x40dfc8
jmp 0x40e009
sub esp, 0x1c
lea ecx, [esi + 0x17c]
mov dword [esp + 0x18], ecx
lea ecx, [esi + 0x40]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
lea eax, [esi + 0x60]
mov dword [esp + 8], eax
lea eax, [esi + 0xe0]
mov dword [esp + 4], eax
mov dword [esp], 0x443710
call fcn.0040b1e0
add esp, 0x1c
movzx eax, al
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x188]
mov eax, dword [eax + ecx*4]
mov ecx, dword [0x43ac84]
xor ecx, 0xda2667a2
sub eax, ecx
push eax
mov ecx, esp
mov dword [esi + 0x120], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43ac88]
mov dword [esi + 0x11c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x128], ecx
mov dword [ecx], 0x43ac90
push eax
mov dword [esi + 0x124], esp
push eax
mov ecx, esp
mov dword [esi + 0x144], ecx
mov dword [ecx], 0x43ac9c
push eax
mov dword [esi + 0x13c], esp
push eax
mov ecx, esp
mov dword [esi + 0x134], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43aca8]
mov dword [esi + 0x130], ecx
push eax
mov ecx, esp
mov dword [esi + 0x140], ecx
mov dword [ecx], 0x43acb0
push eax
mov dword [esi + 0x138], esp
push eax
mov ecx, esp
mov dword [esi + 0x15c], ecx
mov dword [ecx], 0x43acbc
push eax
mov dword [esi + 0x154], esp
push eax
mov ecx, esp
mov dword [esi + 0x14c], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43acc8]
mov dword [esi + 0x148], ecx
push eax
mov ecx, esp
mov dword [esi + 0x158], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43acd0]
mov dword [esi + 0x150], ecx
push eax
mov edx, esp
mov dword [edx], 0x43a490
mov ecx, dword [0x43acd8]
mov dword [esi + 0x160], ecx
push eax
mov ecx, esp
mov dword [esi + 0x174], ecx
mov dword [ecx], 0x43ace0
push eax
mov dword [esi + 0x168], esp
push eax
mov edi, esp
mov dword [edi], 0x43acec
push eax
mov ebx, esp
push eax
mov ecx, esp
mov dword [esi + 0x108], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43acf8]
mov dword [esi + 0x104], ecx
push eax
mov ecx, esp
mov dword [esi + 0x118], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43ad00]
mov dword [esi + 0x10c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x170], ecx
mov dword [ecx], 0x43a490
mov ecx, dword [0x43ad08]
mov dword [esi + 0x16c], ecx
jmp eax