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

Disassembly:
sub esp, 0x200
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0xc], 0x2823baac
push edi
mov dword [esp + 0x14], 0x19774b1f
mov ecx, 0xff
mov dword [esp + 0x18], 0xa95df13c
mov dword [esp + 0x1c], 0x484d6796
mov dword [esp + 0x20], 0xeaf85497
mov dword [esp + 0x24], 0xd8a8aa08
mov dword [esp + 0x28], 0x8b9531ea
mov dword [esp + 0x2c], 0x1b78bbee
mov dword [esp + 0x30], 0xf406b530
mov dword [esp + 0x34], 0x3be733a1
mov dword [esp + 0x38], 0xd0cedf01
mov dword [esp + 0x3c], 0xafde9b19
mov dword [esp + 0x40], 0x4d2ca9f1
mov dword [esp + 0x44], 0x738a2c01
mov dword [esp + 0x48], 0x424fa9e8
mov dword [esp + 0x4c], 0x72425d06
mov dword [esp + 0x50], 0x5bfe7218
mov dword [esp + 0x54], 0x4de87aaa
mov dword [esp + 0x58], 0x3b3d9e2f
mov dword [esp + 0x5c], 0x5a9ed844
mov dword [esp + 0x60], 0x7ba9be83
mov dword [esp + 0x64], 0xeb07366f
mov dword [esp + 0x68], 0x8bb2d48
mov dword [esp + 0x6c], 0x9b718902
mov dword [esp + 0x70], 0xd9f0c0e6
mov dword [esp + 0x74], 0x3ac23809
mov dword [esp + 0x78], 0x96fc6718
mov dword [esp + 0x7c], 0x46f10bf1
mov dword [esp + 0x80], 0xde976998
mov dword [esp + 0x84], 0x217b94cd
mov dword [esp + 0x88], 0xe3e55dc0
mov dword [esp + 0x8c], 0x91567ee0
mov dword [esp + 0x90], 0x8f327889
mov dword [esp + 0x94], 0x554f85e2
mov dword [esp + 0x98], 0xd55f9ea0
mov dword [esp + 0x9c], 0xe9e1a32c
mov dword [esp + 0xa0], 0x4d1e9518
mov dword [esp + 0xa4], 0xeb84c87f
mov dword [esp + 0xa8], 0x583333fb
mov dword [esp + 0xac], 0x106ec259
mov dword [esp + 0xb0], 0x7d643a03
mov dword [esp + 0xb4], 0x73c4428b
mov dword [esp + 0xb8], 0x3b856821
mov dword [esp + 0xbc], 0xccccc56b
mov dword [esp + 0xc0], 0x689747a
mov dword [esp + 0xc4], 0x2c7e2571
mov dword [esp + 0xc8], 0x1191bc58
mov dword [esp + 0xcc], 0x62a0dab5
mov dword [esp + 0xd0], 0x69f76b26
mov dword [esp + 0xd4], 0x76653611
mov dword [esp + 0xd8], 0xe2932dee
mov dword [esp + 0xdc], 0xd295c81f
mov dword [esp + 0xe0], 0x8060a978
mov dword [esp + 0xe4], 0x10f6bf19
mov dword [esp + 0xe8], 0xff77bcd5
mov dword [esp + 0xec], 0x78ea38f3
mov dword [esp + 0xf0], 0xf199bb43
mov dword [esp + 0xf4], 0x1acfce25
mov dword [esp + 0xf8], 0xdec8dd10
mov dword [esp + 0xfc], 0x7b794083
mov dword [esp + 0x100], 0x3abffc6a
mov dword [esp + 0x104], 0x315a4ea
mov dword [esp + 0x108], 0xd7059ef1
mov dword [esp + 0x10c], 0xf5e27d65
lea ecx, [ecx]
mov al, byte [esp + ecx + 0xf]
xor byte [esp + ecx + 0x10], al
sub ecx, 1
jne 0x4039f0
mov al, byte [esp + 0x10f]
xor byte [esp + 0x10], al
lea eax, [esp + 0x110]
push 0x100
push ecx
push eax
call fcn.00401870
add esp, 0xc
xor esi, esi
xor eax, eax
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x403a22
xor ebx, ebx
mov dl, byte [esp + ebx + 0x110]
movzx eax, bl
movzx ecx, dl
movzx eax, byte [esp + eax + 0x10]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x110]
mov byte [esp + ebx + 0x110], al
inc ebx
mov byte [esp + esi + 0x110], dl
cmp ebx, 0x100
jb 0x403a33
xor edi, edi
xor ebx, ebx
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
movzx eax, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
movzx eax, byte [esp + eax + 0x110]
xor byte [esi + section..data], al
inc esi
cmp esi, 0x345c00
jb 0x403a70
pop edi
pop esi
mov dword [ebp], section..data
pop ebp
pop ebx
add esp, 0x200
ret