Function at 0x3a8386
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1a4
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x160], edi
mov dword [esp + 0x98], 0x10d879
xor edx, edx
xor dword [esp + 0x98], 0xb447925
xor dword [esp + 0x98], 0x5f7873a3
xor dword [esp + 0x98], 0x542cd2ff
mov dword [esp + 0x124], 0xd3b69
shr dword [esp + 0x124], 4
xor dword [esp + 0x124], 0xd3b6
mov dword [esp + 0x1c], 0xae1200
add dword [esp + 0x1c], 0xffff24f4
or dword [esp + 0x1c], 0x6cb94cec
shr dword [esp + 0x1c], 0x10
xor dword [esp + 0x1c], 0x6cbd
mov dword [esp + 0xfc], 0x54d8b6
add dword [esp + 0xfc], 0xffff3b80
xor dword [esp + 0xfc], 0x541436
mov dword [esp + 0x114], 0x3898bc
or dword [esp + 0x114], 0xa4014f0f
xor dword [esp + 0x114], 0xa439dfbf
mov dword [esp + 0x7c], 0xba6da5
imul eax, dword [esp + 0x7c], 0x24
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
xor ebp, ebp
push 0xd
pop ecx
div ecx
push 0x5b
mov dword [esp + 0x80], eax
xor edx, edx
add dword [esp + 0x80], 0x7bd4
mov ebx, 0xdd11c45
xor dword [esp + 0x80], 0x204bf26
mov dword [esp + 0x4c], 0x4c57eb
shl dword [esp + 0x4c], 0xb
mov eax, dword [esp + 0x4c]
pop ecx
div ecx
push 0x42
mov dword [esp + 0x4c], eax
xor edx, edx
add dword [esp + 0x4c], 0xf8ba
xor dword [esp + 0x4c], 0x116c43e
mov dword [esp + 0x54], 0xd80401
mov eax, dword [esp + 0x54]
pop ecx
div ecx
mov dword [esp + 0x50], eax
add dword [esp + 0x50], 0xffffd46a
add dword [esp + 0x50], 0xffffa12d
xor dword [esp + 0x50], 0x2bb77
mov dword [esp + 0xdc], 0x3e87b8
shl dword [esp + 0xdc], 9
xor dword [esp + 0xdc], 0x91abc2ed
xor dword [esp + 0xdc], 0xeca4b2ed
mov dword [esp + 0xa4], 0xf1e89e
add dword [esp + 0xa4], 0x8ee7
add dword [esp + 0xa4], 0xcd5
xor dword [esp + 0xa4], 0xf2845a
mov dword [esp + 0x24], 0xb88d35
or dword [esp + 0x24], 0x8777ff75
add dword [esp + 0x24], 0xffffa780
xor dword [esp + 0x24], 0x87ffa6f5
mov dword [esp + 0x70], 0xdb7396
shl dword [esp + 0x70], 5
shr dword [esp + 0x70], 7
xor dword [esp + 0x70], 0x708486b8
xor dword [esp + 0x70], 0x70b25a5d
mov dword [esp + 0x64], 0x12c504
xor dword [esp + 0x64], 0xb5d9015f
or dword [esp + 0x64], 0xb4fbbfb2
xor dword [esp + 0x64], 0xb5f1ef00
mov dword [esp + 0x44], 0x7fcf48
imul eax, dword [esp + 0x44], 0x5e
mov dword [esp + 0x44], eax
add dword [esp + 0x44], 0x4715
xor edx, edx
mov eax, dword [esp + 0x44]
push 0x2a
pop ecx
div ecx
push 0x12
mov dword [esp + 0x48], eax
xor edx, edx
xor dword [esp + 0x48], 0x114d232
mov dword [esp + 0x120], 0x69c5ef
add dword [esp + 0x120], 0xd2a5
xor dword [esp + 0x120], 0x663f5c
mov dword [esp + 0x134], 0x684d5b
shl dword [esp + 0x134], 7
xor dword [esp + 0x134], 0x342ab974
mov dword [esp + 0x1c], 0xfdd928
add dword [esp + 0x1c], 0x9b12
or dword [esp + 0x1c], 0xff9fbe7e
xor dword [esp + 0x1c], 0xfff69653
mov dword [esp + 0x14], 0xa6465e
xor dword [esp + 0x14], 0xbc8e0803
mov eax, dword [esp + 0x14]
pop ecx
div ecx
push 0x1c
mov dword [esp + 0x14], eax
xor edx, edx
xor dword [esp + 0x14], 0x6b558d1e
xor dword [esp + 0x14], 0x612e6cb5
mov dword [esp + 0x88], 0x9ef863
mov eax, dword [esp + 0x88]
pop ecx
div ecx
push 0x1d
mov dword [esp + 0x88], eax
xor edx, edx
or dword [esp + 0x88], 0x9a54933b
xor dword [esp + 0x88], 0x9a50a84e
mov dword [esp + 0xc0], 0x53743a
add dword [esp + 0xc0], 0xffffbdd7
shl dword [esp + 0xc0], 0xf
xor dword [esp + 0xc0], 0x990dcb2b
mov dword [esp + 0x24], 0x1936ec
add dword [esp + 0x24], 0xffff8eaa
add dword [esp + 0x24], 0xffffeb14
shr dword [esp + 0x24], 6
xor dword [esp + 0x24], 0xebf47
mov dword [esp + 0x94], 0x8270fc
shr dword [esp + 0x94], 8
shl dword [esp + 0x94], 9
xor dword [esp + 0x94], 0x10224cd
mov dword [esp + 0x13c], 0xf9b514
mov eax, dword [esp + 0x13c]
pop esi
div esi
push 0x55
mov dword [esp + 0x13c], eax
xor edx, edx
xor dword [esp + 0x13c], 0x9cdfd
mov dword [esp + 0xa4], 0x84a487
shl dword [esp + 0xa4], 0xa
mov eax, dword [esp + 0xa4]
pop ecx
div ecx
push 0x24
mov dword [esp + 0xa4], eax
xor edx, edx
xor dword [esp + 0xa4], 0x350918
mov dword [esp + 0x144], 0xa641a3
shr dword [esp + 0x144], 9
xor dword [esp + 0x144], 0xf176
mov dword [esp + 0x2c], 0xe3379
shr dword [esp + 0x2c], 6
or dword [esp + 0x2c], 0xc095d4f7
add dword [esp + 0x2c], 0xffff44fe
xor dword [esp + 0x2c], 0xc09ceb78
mov dword [esp + 0x3c], 0xa1123
mov eax, dword [esp + 0x3c]
pop ecx
div ecx
mov dword [esp + 0x38], eax
xor edx, edx
imul eax, dword [esp + 0x38], 0x7b
push 6
pop ecx
push 0x51
mov dword [esp + 0x3c], eax
or dword [esp + 0x3c], 0xae71e2a4
xor dword [esp + 0x3c], 0xae732eb4
mov dword [esp + 0xac], 0xe2a08e
imul eax, dword [esp + 0xac], 0x58
mov dword [esp + 0xac], eax
or dword [esp + 0xac], 0x7031e53e
xor dword [esp + 0xac], 0x7df9bf6b
mov dword [esp + 0x34], 0x7f3fbb
shl dword [esp + 0x34], 2
mov eax, dword [esp + 0x34]
div ecx
xor edx, edx
mov dword [esp + 0x34], eax
or dword [esp + 0x34], 0x8169e357
xor dword [esp + 0x34], 0x817751cb
mov dword [esp + 0x50], 0x210894
mov eax, dword [esp + 0x50]
pop ecx
div ecx
push 0x54
mov dword [esp + 0x50], eax
xor edx, edx
or dword [esp + 0x50], 0xfb7dedfd
xor dword [esp + 0x50], 0xfb79f9e8
mov dword [esp + 0x8c], 0x175816
xor dword [esp + 0x8c], 0x60e9afb5
shr dword [esp + 0x8c], 4
xor dword [esp + 0x8c], 0x60cc159
mov dword [esp + 0x18], 0x57148b
or dword [esp + 0x18], 0x5b46436
add dword [esp + 0x18], 0xffff993d
xor dword [esp + 0x18], 0xee6826e0
xor dword [esp + 0x18], 0xeb9eb790
mov dword [esp + 0xd8], 0x1f2913
shl dword [esp + 0xd8], 0xd
shr dword [esp + 0xd8], 6
xor dword [esp + 0xd8], 0x39981c2
mov dword [esp + 0xb8], 0x944b1e
shl dword [esp + 0xb8], 0x10
imul eax, dword [esp + 0xb8], 0x64
pop ecx
mov dword [esp + 0xb4], eax
xor dword [esp + 0xb4], 0x57b855b5
mov dword [esp + 0x40], 0x5652a4
shl dword [esp + 0x40], 2
imul eax, dword [esp + 0x40], 0x2d
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0xf5fc8c50
xor dword [esp + 0x40], 0xc946a80e
mov dword [esp + 0x148], 0xdfbedb
shl dword [esp + 0x148], 6
xor dword [esp + 0x148], 0x37e8787c
mov dword [esp + 0x12c], 0x5ef9ce
shr dword [esp + 0x12c], 4
xor dword [esp + 0x12c], 0x9477
mov dword [esp + 0xb0], 0x65eb8
shr dword [esp + 0xb0], 0xb
shl dword [esp + 0xb0], 7
xor dword [esp + 0xb0], 0x2e47d
mov dword [esp + 0xd0], 0xaea2d1
shl dword [esp + 0xd0], 4
mov eax, dword [esp + 0xd0]
div ecx
mov dword [esp + 0xd0], eax
xor dword [esp + 0xd0], 0x22e3d8
mov dword [esp + 0xc8], 0xaa2c5e
xor dword [esp + 0xc8], 0xff516110
xor dword [esp + 0xc8], 0xda5bb4ee
xor dword [esp + 0xc8], 0x25a70e57
mov dword [esp + 0xf8], 0xff0a94
add dword [esp + 0xf8], 0x2deb
xor dword [esp + 0xf8], 0xf22310
mov dword [esp + 0xc0], 0xcd4fbe
shr dword [esp + 0xc0], 7
imul eax, dword [esp + 0xc0], 0x3b
xor edx, edx
push 0xd
pop ecx
push 0x23
mov dword [esp + 0xc4], eax
xor dword [esp + 0xc4], 0x554248
mov dword [esp + 0xbc], 0xd747b9
shl dword [esp + 0xbc], 4
shl dword [esp + 0xbc], 5
xor dword [esp + 0xbc], 0xae889f61
mov dword [esp + 0x10c], 0xa00303
or dword [esp + 0x10c], 0xbaaced29
xor dword [esp + 0x10c], 0xbaad9e86
mov dword [esp + 0x5c], 0x970648
or dword [esp + 0x5c], 0xfb9fbefa
add dword [esp + 0x5c], 0xe7c6
xor dword [esp + 0x5c], 0xfba760e0
mov dword [esp + 0x104], 0xb28d47
xor dword [esp + 0x104], 0xf32eb041
xor dword [esp + 0x104], 0xf3944ea2
mov dword [esp + 0x11c], 0x2b1054
xor dword [esp + 0x11c], 0x40829eee
xor dword [esp + 0x11c], 0x40a6a871
mov dword [esp + 0x114], 0x3f645f
or dword [esp + 0x114], 0xc1bd4876
xor dword [esp + 0x114], 0xc1b13823
mov dword [esp + 0xdc], 0x355808
add dword [esp + 0xdc], 0xffff77d8
imul eax, dword [esp + 0xdc], 0x1e
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0x63beaa3
mov dword [esp + 0xe8], 0xfe5e2d
mov eax, dword [esp + 0xe8]
div ecx
xor edx, edx
mov dword [esp + 0xe8], eax
shr dword [esp + 0xe8], 6
xor dword [esp + 0xe8], 0x9703a
mov dword [esp + 0x90], 0x8eb77f
mov eax, dword [esp + 0x90]
div esi
pop ecx
mov dword [esp + 0x8c], eax
xor edx, edx
add dword [esp + 0x8c], 0x28d0
xor dword [esp + 0x8c], 0xe3c3b
mov dword [esp + 0x104], 0x7b38eb
add dword [esp + 0x104], 0xffffb0b3
xor dword [esp + 0x104], 0x706093
mov dword [esp + 0x2c], 0x5e4110
add dword [esp + 0x2c], 0x511
shr dword [esp + 0x2c], 4
mov eax, dword [esp + 0x2c]
div ecx
push 0x79
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x69876
mov dword [esp + 0x148], 0xfbcf64
shr dword [esp + 0x148], 1
xor dword [esp + 0x148], 0x7cbb1e
mov dword [esp + 0x38], 0x16810b
add dword [esp + 0x38], 0x8b33
add dword [esp + 0x38], 0x4a34
xor dword [esp + 0x38], 0xa33fd27c
xor dword [esp + 0x38], 0xa32238b1
mov dword [esp + 0x70], 0xfea2d0
add dword [esp + 0x70], 0xffff07f8
imul eax, dword [esp + 0x70], 0x5f
pop ecx
push 0x18
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
div ecx
pop ecx
mov dword [esp + 0x6c], eax
xor dword [esp + 0x6c], 0xc5f200
xor edx, edx
mov dword [esp + 0x9c], 0x74b862
mov eax, dword [esp + 0x9c]
div ecx
push 0x45
mov dword [esp + 0xa0], eax
xor edx, edx
shl dword [esp + 0xa0], 0xd
xor dword [esp + 0xa0], 0x9bad20d6
mov dword [esp + 0xc8], 0x36e04f
imul eax, dword [esp + 0xc8], 0xb
pop ecx
push 0xd
mov dword [esp + 0xc8], eax
xor dword [esp + 0xc8], 0xf8676d28
xor dword [esp + 0xc8], 0xfa3a8061
mov dword [esp + 0x98], 0x1beeb6
add dword [esp + 0x98], 0xdc90
or dword [esp + 0x98], 0xa8d7798b
xor dword [esp + 0x98], 0xa8d16903
mov dword [esp + 0xb0], 0x95241d
add dword [esp + 0xb0], 0xffff2c56
imul eax, dword [esp + 0xb0], 0x79
mov dword [esp + 0xb0], eax
xor dword [esp + 0xb0], 0x46123619
mov dword [esp + 0xd0], 0xfe0004
or dword [esp + 0xd0], 0xaee8c645
add dword [esp + 0xd0], 0x9767
xor dword [esp + 0xd0], 0xaefd28ca
mov dword [esp + 0x110], 0xd8fdbd
shl dword [esp + 0x110], 0xa
xor dword [esp + 0x110], 0x63fcbe89
mov dword [esp + 0x138], 0x353b0d
add dword [esp + 0x138], 0xffff6331
xor dword [esp + 0x138], 0x31e41c
mov dword [esp + 0x58], 0x16001
shl dword [esp + 0x58], 9
imul eax, dword [esp + 0x58], 0x1d
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
div ecx
xor edx, edx
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0x1286f7c
mov dword [esp + 0xf8], 0x623f00
shr dword [esp + 0xf8], 0x10
xor dword [esp + 0xf8], 0xb9b55
mov dword [esp + 0x78], 0x7af827
xor dword [esp + 0x78], 0x35cd3431
imul eax, dword [esp + 0x78], 0x71
pop ecx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x3edcff4b
xor dword [esp + 0x74], 0x88f7fd42
mov dword [esp + 0x128], 0x941be2
add dword [esp + 0x128], 0xffff3420
xor dword [esp + 0x128], 0x9e4c7a
mov dword [esp + 0x120], 0xbd1d91
shl dword [esp + 0x120], 4
xor dword [esp + 0x120], 0xbd00b22
mov dword [esp + 0x68], 0x4ec7bc
xor dword [esp + 0x68], 0xa8c2ef86
or dword [esp + 0x68], 0xdeff8fbf
xor dword [esp + 0x68], 0xfefd8ca1
mov dword [esp + 0xe8], 0xc2e89
add dword [esp + 0xe8], 0xffff52f5
add dword [esp + 0xe8], 0xffff75a4
xor dword [esp + 0xe8], 0x54ad7
mov dword [esp + 0x60], 0x291e0e
imul eax, dword [esp + 0x60], 0x38
mov dword [esp + 0x60], eax
imul eax, dword [esp + 0x60], 0x7d
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
div ecx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x7be3344
mov dword [esp + 0xe0], 0x5decd5
add dword [esp + 0xe0], 0xffff1af9
add dword [esp + 0xe0], 0xffff808a
xor dword [esp + 0xe0], 0x562741
mov dword [esp + 0x3c], 0x217ae1
add dword [esp + 0x3c], 0x8cb4
xor dword [esp + 0x3c], 0x7f2f61ce
add dword [esp + 0x3c], 0x5386
xor edx, edx
xor dword [esp + 0x3c], 0x7f0b326f
mov esi, 0x2213aef
mov dword [esp + 0x13c], 0xdaec88
or dword [esp + 0x13c], 0xab14a88e
xor dword [esp + 0x13c], 0xabda6160
mov dword [esp + 0x5c], 0xbdf3d2
xor dword [esp + 0x5c], 0xa98b9aa7
add dword [esp + 0x5c], 0xffff766b
mov eax, dword [esp + 0x5c]
push 0x1f
pop ecx
div ecx
push 0x6b
mov dword [esp + 0x60], eax
xor edx, edx
xor dword [esp + 0x60], 0x574913b
mov dword [esp + 0xf0], 0x431d1e
or dword [esp + 0xf0], 0xf6756b1
add dword [esp + 0xf0], 0xffff56f0
xor dword [esp + 0xf0], 0xf696507
mov dword [esp + 0x84], 0xb0e7e0
shl dword [esp + 0x84], 8
shl dword [esp + 0x84], 2
or dword [esp + 0x84], 0x3872646b
xor dword [esp + 0x84], 0xfbfd3125
mov dword [esp + 0x7c], 0xce7912
add dword [esp + 0x7c], 0xa781
or dword [esp + 0x7c], 0x12c68d7
mov eax, dword [esp + 0x7c]
pop ecx
div ecx
push 0x39
mov dword [esp + 0x7c], eax
xor edx, edx
xor dword [esp + 0x7c], 0x8f2f6
mov dword [esp + 0xf4], 0xd9676d
imul eax, dword [esp + 0xf4], 0x7e
pop ecx
mov dword [esp + 0x164], 0x48
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf0]
div ecx
mov ecx, 0x46d8198
mov dword [esp + 0xf0], eax
xor dword [esp + 0xf0], 0x1e83dc3
mov eax, 0xeff08de
mov edx, 0x7a2a4cb
cmp ebx, 0xb0e9adb
jg 0x3a9255
je 0x3a94b0
cmp ebx, esi
je 0x3a9237
cmp ebx, ecx
je 0x3a91fa
cmp ebx, 0x5d10782
je 0x3a91cb
cmp ebx, 0x6a948c9
je 0x3a9125
cmp ebx, edx
je 0x3a90d5
cmp ebx, 0x95d2264
jne 0x3a94a2
lea eax, [esp + 0x14c]
mov ecx, 0x100
push eax
push dword [esp + 0x154]
mov dword [esp + 0x164], ecx
mov edx, ecx
push dword [esp + 0x1c]
push dword [esp + 0x94]
push dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
call fcn.003aab58
mov ecx, eax
add esp, 0x14
mov eax, dword [esp + 0xfc]
mov ebx, 0xb0e9adb
cmp ecx, eax
mov ecx, 0x46d8198
cmove ebx, ecx
jmp 0x3a902c
push dword [esp + 0x74]
lea edx, [esp + 0x15c]
push dword [esp + 0x150]
push dword [esp + 0x15c]
push dword [esp + 0x100]
push dword [esp + 0x34]
push dword [esp + 0x68]
mov ecx, dword [esp + 0x14c]
call fcn.003ac930
add esp, 0x18
mov ebx, 0xe022f5b
test eax, eax
cmove ebx, esi
mov eax, 0xeff08de
mov ecx, 0x46d8198
jmp 0x3a9031
push dword [esp + 0x2c]
mov ecx, 0x3a15b8
push dword [esp + 0x108]
push dword [esp + 0x94]
mov edx, dword [esp + 0xf0]
call fcn.003a57b4
add esp, 0xc
mov esi, eax
lea eax, [esp + 0x154]
push esi
push dword [esp + 0x154]
push dword [edi + 4]
push dword [esp + 0xa0]
push eax
push dword [esp + 0xd8]
push dword [edi]
push dword [esp + 0xb8]
push dword [esp + 0x8c]
push dword [esp + 0x58]
mov edx, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x108]
call fcn.003ac00a
add esp, 0x2c
mov ecx, eax
mov eax, dword [esp + 0xa4]
mov ebx, 0x5d10782
cmp ecx, eax
mov eax, 0x7a2a4cb
push dword [esp + 0x10c]
mov edx, dword [esp + 0xd0]
cmove ebx, eax
mov ecx, dword [esp + 0xb0]
jmp 0x3a942b
push dword [esp + 0xec]
push dword [esp + 0x150]
push dword [esp + 0x64]
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x48]
call fcn.003aff6a
add esp, 0xc
mov ebx, 0xb0e9adb
jmp 0x3a9116
push dword [esp + 0x14c]
push dword [esp + 0xb8]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0xdc]
call fcn.003b099d
pop ecx
pop ecx
mov ecx, eax
mov ebx, 0x5d10782
mov eax, dword [esp + 0x7c]
cmp ecx, eax
mov eax, 0xeff08de
cmove ebx, eax
jmp 0x3a911b
mov ecx, dword [esp + 0x158]
call fcn.003b8073
xor ecx, ecx
mov ebx, 0xe3949de
inc ecx
test eax, eax
cmovne ebp, ecx
jmp 0x3a9116
cmp ebx, 0xdd11c45
je 0x3a949d
cmp ebx, 0xe022f5b
je 0x3a946e
cmp ebx, 0xe3949de
je 0x3a9449
cmp ebx, eax
je 0x3a9357
cmp ebx, 0xf04d6fd
jne 0x3a94a2
push dword [esp + 0x130]
mov ecx, 0x3a16e8
push dword [esp + 0x120]
push dword [esp + 0x4c]
mov edx, dword [esp + 0x70]
call fcn.003a57b4
add esp, 0xc
mov ecx, 0x3a15e8
mov edi, eax
push dword [esp + 0xbc]
push dword [esp + 0x88]
push dword [esp + 0x18]
mov edx, dword [esp + 0x24]
call fcn.003a57b4
add esp, 0xc
mov esi, eax
lea eax, [esp + 0x150]
mov ecx, esi
push dword [esp + 0x138]
push eax
push dword [esp + 0x98]
push edi
push dword [esp + 0xa8]
mov edx, dword [esp + 0x34]
call fcn.003ae28b
add esp, 0x14
mov ecx, eax
mov eax, dword [esp + 0x124]
mov ebx, 0x208d833
cmp ecx, eax
mov eax, 0x95d2264
push dword [esp + 0x28]
mov edx, dword [esp + 0x144]
cmove ebx, eax
mov ecx, dword [esp + 0xa4]
push edi
call fcn.003ac5d7
push dword [esp + 0x38]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x44]
push esi
call fcn.003ac5d7
mov edi, dword [esp + 0x170]
add esp, 0x10
jmp 0x3a9433
push dword [esp + 0xb0]
mov ecx, 0x3a15b8
push dword [esp + 0x130]
push dword [esp + 0x150]
mov edx, dword [esp + 0x4c]
call fcn.003a57b4
mov ecx, dword [esp + 0x170]
add esp, 0xc
mov esi, eax
mov dword [esp + 0x15c], ecx
lea eax, [esp + 0x15c]
mov edx, esi
push eax
push ecx
push dword [esp + 0xc0]
lea eax, [esp + 0x174]
push dword [esp + 0xcc]
push dword [esp + 0x58]
push dword [esp + 0x10c]
push dword [esp + 0xe0]
push eax
push dword [esp + 0xf0]
push dword [esp + 0x170]
call fcn.003a597d
add esp, 0x28
cmp eax, dword [esp + 0x50]
jne 0x3a9411
lea eax, [esp + 0x170]
push eax
mov eax, dword [0x3c420c]
add eax, 8
push eax
push dword [esp + 0x108]
push dword [esp + 0x64]
mov edx, dword [esp + 0x118]
push 0x40
pop ecx
call fcn.003b291c
add esp, 0x10
mov ebx, 0x6a948c9
jmp 0x3a9416
mov ebx, 0x5d10782
push dword [esp + 0xd8]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x11c]
push esi
call fcn.003ac5d7
pop ecx
pop ecx
mov esi, 0x2213aef
mov eax, 0xeff08de
mov ecx, 0x46d8198
mov edx, 0x7a2a4cb
jmp 0x3a94a2
push dword [esp + 0x120]
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x15c]
call fcn.003b737f
pop ecx
mov ebx, 0xe022f5b
jmp 0x3a9116
push dword [esp + 0xe0]
push dword [esp + 0x158]
push dword [esp + 0x68]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x74]
call fcn.003aff6a
add esp, 0xc
mov ebx, 0x5d10782
jmp 0x3a9116
mov ebx, 0xf04d6fd
cmp ebx, 0x208d833
jne 0x3a9036
jmp 0x3a94d8
push dword [esp + 0xf0]
push dword [esp + 0x74]
push dword [esp + 0x80]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x8c]
call fcn.003ae1cb
add esp, 0xc
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x1a4
ret