Function at 0x3aca09
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2c4
mov dword [esp + 0xb0], 0x14aa91
xor edx, edx
push ebx
xor ebx, ebx
mov ecx, 0xadf9a9e
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x80], 0x7d2a17
imul eax, dword [esp + 0x80], 0x32
push ebp
push esi
push edi
push 0x54
mov dword [esp + 0x90], eax
xor dword [esp + 0x90], 0x1872387f
mov dword [esp + 0x88], 0xb13dc6
add dword [esp + 0x88], 0xffffae74
xor dword [esp + 0x88], 0xb0ed3a
mov dword [esp + 0x78], 0xc455f0
shl dword [esp + 0x78], 7
xor dword [esp + 0x78], 0x622af803
mov dword [esp + 0x84], 0xc1aeae
imul eax, dword [esp + 0x84], 0x16
pop esi
push 0x6f
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x10a502f4
mov dword [esp + 0x8c], 0xc20331
add dword [esp + 0x8c], 0xf5c5
xor dword [esp + 0x8c], 0xc2f8f6
mov dword [esp + 0x3c], 0x6f5aa3
shl dword [esp + 0x3c], 1
add dword [esp + 0x3c], 0xffff66fc
shr dword [esp + 0x3c], 0xd
xor dword [esp + 0x3c], 0xf80fa
mov dword [esp + 0x1c], 0x1f8f6e
shr dword [esp + 0x1c], 2
imul eax, dword [esp + 0x1c], 0x58
mov dword [esp + 0x1c], eax
shr dword [esp + 0x1c], 0xa
xor dword [esp + 0x1c], 0xdbb0c
mov dword [esp + 0x20], 0x5d9849
shl dword [esp + 0x20], 0xa
shl dword [esp + 0x20], 2
shr dword [esp + 0x20], 6
xor dword [esp + 0x20], 0x364a765
mov dword [esp + 0x18], 0x1bc8a3
add dword [esp + 0x18], 0xffff8b7f
imul eax, dword [esp + 0x18], 0x4d
mov dword [esp + 0x18], eax
shl dword [esp + 0x18], 0xa
xor dword [esp + 0x18], 0xe13c000b
mov dword [esp + 0x4c], 0x14f5b4
add dword [esp + 0x4c], 0xffff3a15
shr dword [esp + 0x4c], 6
xor dword [esp + 0x4c], 0xb8006
mov dword [esp + 0x2c], 0x6cb15
add dword [esp + 0x2c], 0xffff4699
add dword [esp + 0x2c], 0x33ea
xor dword [esp + 0x2c], 0xd2c6947d
xor dword [esp + 0x2c], 0xd2c43d39
mov dword [esp + 0x48], 0x3d1e0f
shl dword [esp + 0x48], 4
add dword [esp + 0x48], 0xb674
xor dword [esp + 0x48], 0x3dc9375
mov dword [esp + 0x58], 0xc9bf54
add dword [esp + 0x58], 0x4c85
xor dword [esp + 0x58], 0xcb79285f
xor dword [esp + 0x58], 0xcbb49c3b
mov dword [esp + 0x30], 0x4705cc
xor dword [esp + 0x30], 0x21c34d3
shr dword [esp + 0x30], 0xa
or dword [esp + 0x30], 0xadb3f107
xor dword [esp + 0x30], 0xadbdacc8
mov dword [esp + 0x28], 0x32b940
mov eax, dword [esp + 0x28]
div esi
pop esi
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0xda450382
xor edx, edx
mov eax, dword [esp + 0x24]
div esi
push 0x63
mov dword [esp + 0x28], eax
xor edx, edx
xor dword [esp + 0x28], 0x1f184f1
mov dword [esp + 0x60], 0xb9e843
add dword [esp + 0x60], 0x7ee7
shr dword [esp + 0x60], 0x10
xor dword [esp + 0x60], 0xa2f3b
mov dword [esp + 0x6c], 0xa4061a
imul eax, dword [esp + 0x6c], 0x4a
pop esi
push 0x2c
mov dword [esp + 0x6c], eax
xor dword [esp + 0x6c], 0x2f6c9848
mov dword [esp + 0x74], 0x8d5c52
or dword [esp + 0x74], 0xe4bf6a48
xor dword [esp + 0x74], 0xe4b3a9a5
mov dword [esp + 0x80], 0x4c0602
imul eax, dword [esp + 0x80], 7
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x2116849
mov dword [esp + 0x68], 0x79642d
shr dword [esp + 0x68], 6
xor dword [esp + 0x68], 0x6f47a
mov dword [esp + 0x70], 0xa5b4e4
or dword [esp + 0x70], 0x1bbcf141
xor dword [esp + 0x70], 0x1bbfbc00
mov dword [esp + 0x38], 0xd8c65e
or dword [esp + 0x38], 0xbc1b56d9
imul eax, dword [esp + 0x38], 0x6f
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x4f656148
xor dword [esp + 0x38], 0xac3cb569
mov dword [esp + 0x44], 0x6a5e0f
shr dword [esp + 0x44], 0xc
shl dword [esp + 0x44], 0xe
xor dword [esp + 0x44], 0x1aa48cc
mov dword [esp + 0x7c], 0x3105ef
add dword [esp + 0x7c], 0xffffcb4e
xor dword [esp + 0x7c], 0x361807
mov dword [esp + 0x50], 0xcaa497
mov eax, dword [esp + 0x50]
div esi
xor edx, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
pop esi
div esi
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x3a50e
mov dword [esp + 0x30], 0xb7633b
imul eax, dword [esp + 0x30], 0x28
mov dword [esp + 0x30], eax
or dword [esp + 0x30], 0x6fe8e629
xor dword [esp + 0x30], 0x870c55dc
xor dword [esp + 0x30], 0xf8eec52d
mov dword [esp + 0x50], 0xd5188b
add dword [esp + 0x50], 0x6eb5
add dword [esp + 0x50], 0xffff53fe
xor dword [esp + 0x50], 0xd2bd3d
mov dword [esp + 0x20], 0x8e661b
imul eax, dword [esp + 0x20], 0x21
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0xcb3a52dc
add dword [esp + 0x20], 0xffffab8c
xor dword [esp + 0x20], 0xd965e9c1
mov dword [esp + 0x60], 0x4bef65
imul eax, dword [esp + 0x60], 0x7a
mov dword [esp + 0x60], eax
add dword [esp + 0x60], 0xffff6d83
xor dword [esp + 0x60], 0x242fe0e6
mov dword [esp + 0x58], 0x28cff7
imul eax, dword [esp + 0x58], 0x60
mov dword [esp + 0x58], eax
shr dword [esp + 0x58], 0x10
xor dword [esp + 0x58], 0xc0449
mov dword [esp + 0x3c], 0x77d782
or dword [esp + 0x3c], 0x76669dfc
imul eax, dword [esp + 0x3c], 0x7b
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0xffff7a99
mov ebp, 0x540b720
xor dword [esp + 0x3c], 0xeb93eb33
mov edi, dword [esp + 0x64]
cmp ecx, 0xcea1d3
je 0x3acfc8
cmp ecx, 0x342421a
je 0x3acf4c
cmp ecx, 0x368326a
je 0x3ad031
cmp ecx, ebp
je 0x3acec3
cmp ecx, 0x6f6e569
je 0x3acea4
cmp ecx, 0xa3fbe1e
je 0x3ace8a
cmp ecx, 0xadf9a9e
jne 0x3ad023
mov ecx, 0x6f6e569
jmp 0x3ace3f
call fcn.003bf64f
sub dword [esp + 0x90], eax
mov ecx, 0x342421a
sbb dword [esp + 0x94], edx
jmp 0x3ace3f
push dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x94]
call fcn.003b24f7
pop ecx
mov ecx, 0xa3fbe1e
jmp 0x3ace3f
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x98]
mov eax, dword [esp + 0x94]
push ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x8c]
push dword [esp + 0x24]
mov dword [esp + 0xa0], ecx
push dword [esp + 0x58]
mov dword [esp + 0xac], ecx
push ecx
push dword [esp + 0x40]
mov dword [esp + 0xbc], ecx
push dword [esp + 0x60]
mov dword [esp + 0xc8], ecx
mov ecx, edi
mov dword [esp + 0xd0], eax
call fcn.003afdd5
xor ecx, ecx
add esp, 0x18
inc ecx
test eax, eax
cmovne ebx, ecx
mov ecx, 0x368326a
jmp 0x3ace3f
push dword [esp + 0x28]
mov ecx, 0x3a1200
push dword [esp + 0x4c]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
call fcn.003a57b4
add esp, 0xc
mov esi, eax
lea eax, [esp + 0xc8]
push dword [0x3c4208]
push ecx
push dword [esp + 0x64]
push esi
push eax
push dword [esp + 0x38]
push dword [esp + 0x44]
push dword [esp + 0x70]
mov ecx, dword [0x3c4208]
mov edx, dword [esp + 0x64]
lea ecx, [ecx + 0x210]
call fcn.003b7f4a
push dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x8c]
push esi
call fcn.003ac5d7
add esp, 0x28
mov ecx, 0xcea1d3
jmp 0x3ace3f
push dword [esp + 0x78]
lea eax, [esp + 0xcc]
push dword [esp + 0x88]
push ecx
push ecx
push dword [esp + 0x90]
push eax
push dword [esp + 0x58]
push dword [esp + 0xa8]
push dword [esp + 0x54]
push dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x8c]
call fcn.003bcb1c
mov edi, eax
add esp, 0x28
cmp edi, 0xffffffff
je 0x3ad01e
mov ecx, ebp
jmp 0x3ace3f
mov ecx, 0x86ba6b1
cmp ecx, 0x86ba6b1
jne 0x3ace3f
jmp 0x3ad046
push dword [esp + 0x3c]
mov edx, edi
push dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
call fcn.003bef73
pop ecx
pop ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x2c4
ret