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

Disassembly:
sub esp, 0x134
push ebx
push ebp
push esi
push edi
push dword [esp + 0x15c]
mov esi, edx
push dword [esp + 0x15c]
mov dword [esp + 0x128], esi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push 0x20
push dword [esp + 0x15c]
push esi
push ecx
call fcn.003aaa7d
mov dword [esp + 0x150], 0x7ea981
add esp, 0x20
mov dword [esp + 0x134], 0x2601ba
xor ebp, ebp
mov dword [esp + 0x138], 0x249f2
xor edx, edx
mov dword [esp + 0x13c], ebp
mov ebx, 0x36290e8
mov dword [esp + 0x24], 0x67cb05
shl dword [esp + 0x24], 2
mov eax, dword [esp + 0x24]
push 0x53
pop ecx
div ecx
push 0x3e
mov dword [esp + 0x28], eax
xor edx, edx
shl dword [esp + 0x28], 2
xor dword [esp + 0x28], 0x14021c
mov dword [esp + 0xdc], 0xa206fa
shl dword [esp + 0xdc], 4
xor dword [esp + 0xdc], 0xa206fa0
mov dword [esp + 0x88], 0xf3859a
xor dword [esp + 0x88], 0x225d79c2
or dword [esp + 0x88], 0x8359f585
xor dword [esp + 0x88], 0xa3fffddd
mov dword [esp + 0x4c], 0xdca832
xor dword [esp + 0x4c], 0x1a23d0c9
add dword [esp + 0x4c], 0x238c
shr dword [esp + 0x4c], 5
xor dword [esp + 0x4c], 0xd7fce4
mov dword [esp + 0x68], 0xb95b97
or dword [esp + 0x68], 0xce852ee6
shr dword [esp + 0x68], 7
xor dword [esp + 0x68], 0x19d7aff
mov dword [esp + 0xd0], 0x2397af
add dword [esp + 0xd0], 0xffff3e32
xor dword [esp + 0xd0], 0x22d5e1
mov dword [esp + 0xf0], 0x5d9211
or dword [esp + 0xf0], 0x9e7565ab
xor dword [esp + 0xf0], 0x9e7df7bb
mov dword [esp + 0xbc], 0x1f8830
add dword [esp + 0xbc], 0xffffdc8c
mov eax, dword [esp + 0xbc]
pop ecx
div ecx
push 0x7a
mov dword [esp + 0xbc], eax
xor edx, edx
xor dword [esp + 0xbc], 0x819f
mov dword [esp + 0x84], 0x51637
imul eax, dword [esp + 0x84], 0x5f
pop ecx
mov dword [esp + 0x80], eax
imul eax, dword [esp + 0x80], 0x64
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0xbcc46104
mov dword [esp + 0xe8], 0x5e914d
imul eax, dword [esp + 0xe8], 0x75
mov dword [esp + 0xe8], eax
xor dword [esp + 0xe8], 0x2b386831
mov dword [esp + 0x34], 0x780130
mov eax, dword [esp + 0x34]
div ecx
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0xffff6772
or dword [esp + 0x34], 0xbf841560
xor edx, edx
xor dword [esp + 0x34], 0xbf847762
mov dword [esp + 0xb4], 0xf6b9ed
add dword [esp + 0xb4], 0xf745
add dword [esp + 0xb4], 0xffff3581
xor dword [esp + 0xb4], 0xf6e6b3
mov dword [esp + 0x14], 0x3e12c4
shr dword [esp + 0x14], 0xa
mov eax, dword [esp + 0x14]
push 0x4f
pop ecx
div ecx
push 0x5e
mov dword [esp + 0x18], eax
xor edx, edx
imul eax, dword [esp + 0x18], 0x1c
pop ecx
push 0x54
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x1f338
mov dword [esp + 0x94], 0xe403a5
or dword [esp + 0x94], 0x442ec1be
shr dword [esp + 0x94], 0xa
xor dword [esp + 0x94], 0x1984e2
mov dword [esp + 0xcc], 0xabab0c
or dword [esp + 0xcc], 0x89965ca8
xor dword [esp + 0xcc], 0x89b6a60d
mov dword [esp + 0x80], 0x507ad6
mov eax, dword [esp + 0x80]
div ecx
xor edx, edx
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x4c8be55e
xor dword [esp + 0x80], 0x4c820882
mov dword [esp + 0xd4], 0x1ab362
xor dword [esp + 0xd4], 0x393de21f
xor dword [esp + 0xd4], 0x392a456e
mov dword [esp + 0x58], 0x323c0e
xor dword [esp + 0x58], 0xe39b5419
or dword [esp + 0x58], 0xb5b0511c
shr dword [esp + 0x58], 0xa
xor dword [esp + 0x58], 0x3da1bc
mov dword [esp + 0x110], 0x21eb8b
add dword [esp + 0x110], 0xd71b
xor dword [esp + 0x110], 0x267110
mov dword [esp + 0xc4], 0x7b1127
shl dword [esp + 0xc4], 7
xor dword [esp + 0xc4], 0x3d80f5d6
mov dword [esp + 0x104], 0xa50a03
xor dword [esp + 0x104], 0x6058f740
xor dword [esp + 0x104], 0x60fdd8f9
mov dword [esp + 0x40], 0xa53101
add dword [esp + 0x40], 0xffffa59a
imul eax, dword [esp + 0x40], 0xe
pop ecx
push 0x3d
pop edi
mov dword [esp + 0x3c], eax
imul eax, dword [esp + 0x3c], 0x1d
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x56712d1
mov dword [esp + 0x1c], 0x595932
mov eax, dword [esp + 0x1c]
div ecx
xor edx, edx
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0xffffcd7c
shl dword [esp + 0x1c], 1
xor dword [esp + 0x1c], 0x6404c
mov dword [esp + 0x114], 0x425b76
add dword [esp + 0x114], 0xffff6cdd
xor dword [esp + 0x114], 0x466367
mov dword [esp + 0xa8], 0xabd7cc
add dword [esp + 0xa8], 0xffffa64d
add dword [esp + 0xa8], 0x9bc0
xor dword [esp + 0xa8], 0xac3bb8
mov dword [esp + 0x68], 0x89de90
add dword [esp + 0x68], 0x612f
mov eax, dword [esp + 0x68]
div edi
mov dword [esp + 0x68], eax
xor edx, edx
xor dword [esp + 0x68], 0xb32e
mov dword [esp + 0x70], 0x7de933
shl dword [esp + 0x70], 0x10
shl dword [esp + 0x70], 0xe
xor dword [esp + 0x70], 0xc00a68ff
mov dword [esp + 0x2c], 0xc81993
shr dword [esp + 0x2c], 0xa
add dword [esp + 0x2c], 0xc2e6
mov eax, dword [esp + 0x2c]
push 0x42
pop ecx
div ecx
push 0x21
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x679c0
mov dword [esp + 0x50], 0x3ea167
add dword [esp + 0x50], 0x7ddd
imul eax, dword [esp + 0x50], 0x2e
pop ecx
push 0x2c
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0xd65afb26
xor dword [esp + 0x50], 0xdd05f3d5
mov dword [esp + 0x34], 0xdd8b22
shr dword [esp + 0x34], 5
mov eax, dword [esp + 0x34]
div ecx
xor edx, edx
mov dword [esp + 0x34], eax
imul eax, dword [esp + 0x34], 0x68
pop ecx
push 0x68
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x1d72bc
mov dword [esp + 0x2c], 0x865130
or dword [esp + 0x2c], 0x24beb5f7
mov eax, dword [esp + 0x2c]
div ecx
xor edx, edx
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x2c], 0x35
pop ecx
push 0x4f
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x2c40b9e6
mov dword [esp + 0x60], 0xe7030c
mov eax, dword [esp + 0x60]
div ecx
xor edx, edx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x6e477f4f
xor dword [esp + 0x60], 0x6e42226d
mov dword [esp + 0x24], 0xd8dd5b
shr dword [esp + 0x24], 4
xor dword [esp + 0x24], 0xfff74e45
add dword [esp + 0x24], 0xfa8a
xor dword [esp + 0x24], 0xfffdbc20
mov dword [esp + 0xa8], 0x66d761
add dword [esp + 0xa8], 0xffff844d
mov eax, dword [esp + 0xa8]
pop ecx
div ecx
push 0x2b
mov dword [esp + 0xa8], eax
xor edx, edx
xor dword [esp + 0xa8], 0x6b53e
mov dword [esp + 0xa0], 0x3e99fe
shl dword [esp + 0xa0], 0xb
or dword [esp + 0xa0], 0xc6ec067a
xor dword [esp + 0xa0], 0xf6ebc5e5
mov dword [esp + 0x44], 0x7d0def
mov eax, dword [esp + 0x44]
pop ecx
div ecx
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 3
shl dword [esp + 0x40], 6
xor dword [esp + 0x40], 0x1fbefc
mov dword [esp + 0x94], 0x128fd0
xor edx, edx
add dword [esp + 0x94], 0x6b7
mov eax, dword [esp + 0x94]
push 0x4b
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x2f838
mov dword [esp + 0x8c], 0xe27b0d
or dword [esp + 0x8c], 0x6a67300a
imul eax, dword [esp + 0x8c], 0x72
push 0x22
pop ecx
push 0x5f
mov dword [esp + 0x90], eax
xor dword [esp + 0x90], 0x9b13dd2c
mov dword [esp + 0x3c], 0x452ff3
mov eax, dword [esp + 0x3c]
div ecx
xor edx, edx
mov dword [esp + 0x3c], eax
shl dword [esp + 0x3c], 3
imul eax, dword [esp + 0x3c], 0x79
pop ecx
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x7b36e39
mov dword [esp + 0x58], 0xbd27b7
or dword [esp + 0x58], 0x77fffbfb
xor dword [esp + 0x58], 0x77fd5920
mov dword [esp + 0x50], 0x968557
xor dword [esp + 0x50], 0x8b8681d4
add dword [esp + 0x50], 0xffffbe4d
imul eax, dword [esp + 0x50], 3
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0xa1285cc8
mov dword [esp + 0xf4], 0x95d0a5
shl dword [esp + 0xf4], 0xc
xor dword [esp + 0xf4], 0x5d0c3c24
mov dword [esp + 0x10], 0xa3bfc8
add dword [esp + 0x10], 0xffff42b3
shr dword [esp + 0x10], 0xc
mov eax, dword [esp + 0x10]
div edi
xor edx, edx
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0xd25f7
mov dword [esp + 0x110], 0xca597c
add dword [esp + 0x110], 0x9e31
xor dword [esp + 0x110], 0xc6b75d
mov dword [esp + 0x74], 0x8463e7
xor dword [esp + 0x74], 0xe09b26b3
xor dword [esp + 0x74], 0x2acab697
xor dword [esp + 0x74], 0xcad09901
mov dword [esp + 0x6c], 0x20fa73
shl dword [esp + 0x6c], 2
shr dword [esp + 0x6c], 0xd
xor dword [esp + 0x6c], 0x721cb
mov dword [esp + 0xe4], 0x695efd
imul eax, dword [esp + 0xe4], 0x5d
mov dword [esp + 0xe4], eax
xor dword [esp + 0xe4], 0x2642c18a
mov dword [esp + 0xdc], 0xd29ae6
shr dword [esp + 0xdc], 8
xor dword [esp + 0xdc], 0x1657d
mov dword [esp + 0xd4], 0xa3f07c
or dword [esp + 0xd4], 0x63cc158
xor dword [esp + 0xd4], 0x6b8fe5f
mov dword [esp + 0x78], 0xa0febe
imul eax, dword [esp + 0x78], 0x5d
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
div ecx
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x9d892d
mov dword [esp + 0x98], 0x83ab4b
shl dword [esp + 0x98], 5
or dword [esp + 0x98], 0xf6faa49
xor dword [esp + 0x98], 0x1f72d591
mov dword [esp + 0x44], 0xd32340
imul eax, dword [esp + 0x44], 0x41
xor edx, edx
push 0x53
pop ecx
push 0x51
mov edi, 0x7d3743d
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0xc39d323a
shr dword [esp + 0x48], 0xa
xor dword [esp + 0x48], 0x3c50f3
mov dword [esp + 0xe4], 0x972d0d
or dword [esp + 0xe4], 0xe3281e3b
xor dword [esp + 0xe4], 0xe3b508ff
mov dword [esp + 0xb4], 0x14b4d9
mov eax, dword [esp + 0xb4]
div ecx
xor edx, edx
mov dword [esp + 0xb4], eax
xor dword [esp + 0xb4], 0x1f369c57
xor dword [esp + 0xb4], 0x1f358972
mov dword [esp + 0x8c], 0x3cabe
imul eax, dword [esp + 0x8c], 0x46
pop ecx
push 0x6f
mov dword [esp + 0x8c], eax
or dword [esp + 0x8c], 0x2300f56a
xor dword [esp + 0x8c], 0x230609c3
mov dword [esp + 0x10c], 0xb0c05a
shr dword [esp + 0x10c], 0xe
xor dword [esp + 0x10c], 0x17120
mov dword [esp + 0xa4], 0xb56277
shr dword [esp + 0xa4], 1
add dword [esp + 0xa4], 0xffff52a5
xor dword [esp + 0xa4], 0x56ac72
mov dword [esp + 0x1c], 0xde9cf0
mov eax, dword [esp + 0x1c]
div ecx
xor edx, edx
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x3c456d88
xor dword [esp + 0x1c], 0x4d9ba14a
xor dword [esp + 0x1c], 0x71d0c6cd
mov dword [esp + 0xc8], 0xaf449d
or dword [esp + 0xc8], 0x6484c2e1
xor dword [esp + 0xc8], 0x64ad7193
mov dword [esp + 0xfc], 0x1e8c28
add dword [esp + 0xfc], 0xffff3d43
xor dword [esp + 0xfc], 0x13860b
mov dword [esp + 0x108], 0x3d056
or dword [esp + 0x108], 0x3b65ab6e
xor dword [esp + 0x108], 0x3b62b50a
mov dword [esp + 0xf4], 0xe2a63
add dword [esp + 0xf4], 0x2b45
xor dword [esp + 0xf4], 0x1705
mov dword [esp + 0x64], 0xcba675
mov eax, dword [esp + 0x64]
pop ecx
div ecx
mov dword [esp + 0x60], eax
shr dword [esp + 0x60], 9
xor dword [esp + 0x60], 0x7af1c
mov dword [esp + 0xbc], 0x4a4555
add dword [esp + 0xbc], 0xffff1975
xor dword [esp + 0xbc], 0x280cac3
xor dword [esp + 0xbc], 0x2c88b40
mov dword [esp + 0xfc], 0x558912
imul eax, dword [esp + 0xfc], 0x4c
mov dword [esp + 0xfc], eax
xor dword [esp + 0xfc], 0x196144b2
mov dword [esp + 0xac], 0xa6198e
xor dword [esp + 0xac], 0x7cd7e3f4
shl dword [esp + 0xac], 8
xor dword [esp + 0xac], 0x71fb6635
mov eax, 0x594068d
mov ecx, 0x85af73e
mov edx, 0x631991c
cmp ebx, edi
jg 0x3afbf5
je 0x3afd9d
cmp ebx, 0x14f8bb8
je 0x3afbbf
cmp ebx, 0x36290e8
je 0x3afbb5
cmp ebx, eax
je 0x3afb62
cmp ebx, edx
je 0x3afb0e
cmp ebx, 0x7075a88
jne 0x3afd8f
push dword [esp + 0x7c]
mov ecx, 0x3a1648
push dword [esp + 0xcc]
push dword [esp + 0x98]
mov edx, dword [esp + 0x20]
call fcn.003a57b4
add esp, 0xc
mov ecx, 0x3a15e8
mov edi, eax
push dword [esp + 0xc0]
push dword [esp + 0x110]
push dword [esp + 0x5c]
mov edx, dword [esp + 0xdc]
call fcn.003a57b4
add esp, 0xc
mov esi, eax
lea eax, [esp + 0x11c]
mov ecx, esi
push dword [esp + 0x1c]
push eax
push dword [esp + 0x44]
push edi
push dword [esp + 0x34]
mov edx, dword [esp + 0x114]
call fcn.003ae28b
add esp, 0x14
mov ecx, eax
mov eax, dword [esp + 0xd8]
mov ebx, 0xb5c0023
cmp ecx, eax
mov eax, 0x7f7095a
push dword [esp + 0x68]
mov edx, dword [esp + 0xac]
cmove ebx, eax
mov ecx, dword [esp + 0x118]
push edi
call fcn.003ac5d7
push dword [esp + 0x54]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x7c]
push esi
call fcn.003ac5d7
add esp, 0x10
mov edi, 0x7d3743d
jmp 0x3afd79
mov edx, dword [esp + 0x150]
push esi
push dword [esp + 0x11c]
push dword [esp + 0xe8]
push dword [esp + 0x50]
push dword [esp + 0xa8]
push dword [esp + 0x8c]
mov ecx, dword [esp + 0xd0]
call fcn.003a4dc6
mov ecx, eax
add esp, 0x18
mov eax, dword [esp + 0x80]
mov ebx, 0xd849526
cmp ecx, eax
mov eax, 0x594068d
cmove ebx, eax
jmp 0x3afa00
push dword [esp + 0xa0]
push dword [esp + 0x10c]
push dword [esp + 0x90]
push 0x20
push dword [esp + 0x16c]
push dword [esp + 0xc4]
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x130]
call fcn.003ac4f4
xor edx, edx
mov ecx, eax
mov eax, dword [esp + 0x4c]
inc edx
add esp, 0x18
mov ebx, 0xd849526
cmp ecx, eax
cmove ebp, edx
jmp 0x3af9fb
mov ebx, 0x7075a88
jmp 0x3afa0a
mov eax, dword [esp + 0x110]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x12c]
call fcn.003bf6a3
pop ecx
test eax, eax
mov dword [esp + 0x124], eax
mov ebx, edi
mov ecx, 0x85af73e
cmovne ebx, ecx
mov eax, 0x594068d
jmp 0x3afa05
cmp ebx, 0x7f7095a
je 0x3afce5
cmp ebx, ecx
je 0x3afc6a
cmp ebx, 0xd849526
je 0x3afc38
cmp ebx, 0xed9cc0e
jne 0x3afd8f
mov edx, dword [esp + 0x60]
push dword [esp + 0x124]
mov ecx, dword [esp + 0xf4]
call fcn.003a768d
pop ecx
mov ebx, edi
jmp 0x3af9fb
push dword [esp + 0x104]
push dword [esp + 0xfc]
push dword [esp + 0xcc]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x124]
call fcn.003b0723
add esp, 0xc
mov ebx, 0xed9cc0e
jmp 0x3af9fb
push dword [esp + 0x11c]
lea eax, [esp + 0x11c]
push dword [esp + 0x128]
push dword [esp + 0xd4]
push dword [esp + 0xe0]
push ecx
push dword [esp + 0xf0]
push dword [esp + 0x7c]
push dword [esp + 0x144]
push eax
push dword [esp + 0x108]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
call fcn.003bb82c
mov ecx, eax
add esp, 0x28
mov eax, dword [esp + 0xec]
mov ebx, 0xed9cc0e
cmp ecx, eax
mov edx, 0x631991c
mov eax, 0x594068d
mov ecx, 0x85af73e
cmove ebx, edx
jmp 0x3afa0a
push dword [esp + 0x20]
mov ecx, 0x3a1678
push dword [esp + 0x60]
push dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
call fcn.003a57b4
add esp, 0xc
lea edx, [esp + 0x12c]
mov esi, eax
lea eax, [esp + 0x128]
push dword [esp + 0x38]
push esi
push eax
push dword [esp + 0x90]
push dword [esp + 0x9c]
push dword [esp + 0x130]
push dword [esp + 0xac]
push dword [esp + 0x5c]
push dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xcc]
call fcn.003a71d5
mov ecx, eax
mov ebx, edi
mov eax, dword [esp + 0x70]
cmp ecx, eax
push dword [esp + 0x11c]
mov edx, dword [esp + 0x7c]
mov eax, 0x14f8bb8
mov ecx, dword [esp + 0x84]
cmove ebx, eax
push esi
call fcn.003ac5d7
add esp, 0x30
mov esi, dword [esp + 0x120]
mov edx, 0x631991c
mov ecx, 0x85af73e
mov eax, 0x594068d
cmp ebx, 0xb5c0023
jne 0x3afa0a
jmp 0x3afdc8
push dword [esp + 0xac]
push dword [esp + 0xb8]
push dword [esp + 0x104]
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0xc8]
call fcn.003ae1cb
add esp, 0xc
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x134
ret