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

Disassembly:
sub esp, 0x12c
push ebx
push ebp
push esi
push edi
push dword [esp + 0x164]
mov eax, edx
push dword [esp + 0x164]
mov dword [esp + 0x130], eax
push dword [esp + 0x164]
movzx eax, ax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push eax
push ecx
call fcn.003aaa7d
mov dword [esp + 0x15c], 0xd3cb38
xor eax, eax
and dword [esp + 0x168], eax
add esp, 0x30
mov dword [esp + 0x130], 0x9c4131
xor edx, edx
mov dword [esp + 0x134], 0x6bb45c
xor ebx, ebx
mov dword [esp + 0x18], 0x87e64f
mov esi, 0x5723c3a
shr dword [esp + 0x18], 1
xor dword [esp + 0x18], 0x43f327
mov dword [esp + 0xd0], 0x9fb12e
shr dword [esp + 0xd0], 4
xor dword [esp + 0xd0], 0x9fb01
mov dword [esp + 0xb4], 0x9ef7f9
add dword [esp + 0xb4], 0xffff5ae2
add dword [esp + 0xb4], 0xffffbc14
xor dword [esp + 0xb4], 0x9e0e27
mov dword [esp + 0x74], 0xef93d0
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x74]
push 0x7b
pop edi
div edi
xor edx, edx
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x7f86db29
xor dword [esp + 0x74], 0x7f87a988
mov dword [esp + 0x98], 0x9d0d18
mov eax, dword [esp + 0x98]
push 0x6e
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x98], eax
add dword [esp + 0x98], 0xfffffcb7
xor dword [esp + 0x98], 0x12a37
mov dword [esp + 0xa8], 0xdc8bea
shr dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0xa8]
div edi
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x400001
mov dword [esp + 0xf8], 0x7ad858
add dword [esp + 0xf8], 0x2b45
xor dword [esp + 0xf8], 0x7f039d
mov dword [esp + 0x90], 0xe0fdcf
imul eax, dword [esp + 0x90], 0x52
mov dword [esp + 0x90], eax
or dword [esp + 0x90], 0x99b09916
xor dword [esp + 0x90], 0xddb1dd5e
mov dword [esp + 0xb0], 0x74c84c
add dword [esp + 0xb0], 0x3368
add dword [esp + 0xb0], 0x42ff
xor dword [esp + 0xb0], 0x7d3eb3
mov dword [esp + 0x110], 0x77c345
or dword [esp + 0x110], 0x629d11a2
xor dword [esp + 0x110], 0x62ffd1e7
mov dword [esp + 0x88], 0x8d4c0
xor dword [esp + 0x88], 0x33cc92fa
xor dword [esp + 0x88], 0xbd1877c5
xor edx, edx
xor dword [esp + 0x88], 0x8edc30ff
mov dword [esp + 0xf0], 0x3e4f81
or dword [esp + 0xf0], 0xa5fff28a
xor dword [esp + 0xf0], 0x25ffff8b
mov dword [esp + 0x118], 0x3d2f3c
shr dword [esp + 0x118], 8
xor dword [esp + 0x118], 0x3d2f
mov dword [esp + 0xcc], 0xe03a96
xor dword [esp + 0xcc], 0x63b37d33
xor dword [esp + 0xcc], 0x635347e4
mov dword [esp + 0xdc], 0x7e47
add dword [esp + 0xdc], 0x9433
xor dword [esp + 0xdc], 0x11265
mov dword [esp + 0xe4], 0xd0634c
add dword [esp + 0xe4], 0xd456
xor dword [esp + 0xe4], 0xd137bd
mov dword [esp + 0x64], 0xd4da4b
add dword [esp + 0x64], 0xffff851a
mov eax, dword [esp + 0x64]
push 0x46
pop ecx
div ecx
push 0x63
mov dword [esp + 0x68], eax
xor edx, edx
or dword [esp + 0x68], 0x95fb5793
xor dword [esp + 0x68], 0x95fb5fbc
mov dword [esp + 0x38], 0x744f30
add dword [esp + 0x38], 0x9771
xor dword [esp + 0x38], 0x8ec0028c
add dword [esp + 0x38], 0xffff555e
xor dword [esp + 0x38], 0x8eb4388b
mov dword [esp + 0xc0], 0xd1a862
or dword [esp + 0xc0], 0x88c83df8
shl dword [esp + 0xc0], 8
xor dword [esp + 0xc0], 0xd9bdfa00
mov dword [esp + 0x70], 0x988a92
add dword [esp + 0x70], 0xfd4d
shl dword [esp + 0x70], 0xf
shr dword [esp + 0x70], 7
xor dword [esp + 0x70], 0x187df00
mov dword [esp + 0x14], 0xce097a
or dword [esp + 0x14], 0x8952db64
shl dword [esp + 0x14], 3
imul eax, dword [esp + 0x14], 0x64
pop ecx
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0xd861c1a9
mov dword [esp + 0x10], 0x4d307
or dword [esp + 0x10], 0xef9fb3ce
add dword [esp + 0x10], 0xffff7260
xor dword [esp + 0x10], 0x684f51c7
xor dword [esp + 0x10], 0x87d5f332
mov dword [esp + 0x10], 0xd54d6d
add dword [esp + 0x10], 0xffff24a2
imul eax, dword [esp + 0x10], 0x72
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0xb01f2bc4
xor dword [esp + 0x10], 0xee81aa94
mov dword [esp + 0x10], 0xe31882
mov eax, dword [esp + 0x10]
div ecx
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 1
add dword [esp + 0x10], 0xffff024c
xor dword [esp + 0x10], 0x4ae7f
mov dword [esp + 0x10], 0x340e66
or dword [esp + 0x10], 0xfc424d31
imul eax, dword [esp + 0x10], 0x15
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 0xd
xor dword [esp + 0x10], 0x8acd2
mov dword [esp + 0x14], 0x5baa19
shl dword [esp + 0x14], 3
imul eax, dword [esp + 0x14], 0x25
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x69fb3051
mov dword [esp + 0x10], 0x7f876
add dword [esp + 0x10], 0xbae3
shl dword [esp + 0x10], 0xa
xor edx, edx
imul eax, dword [esp + 0x10], 0x27
push 0x32
pop ecx
push 0x7e
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x4d4d52cd
mov dword [esp + 0x14], 0x85a55
xor dword [esp + 0x14], 0x416febc1
mov eax, dword [esp + 0x14]
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
shl dword [esp + 0x14], 8
xor dword [esp + 0x14], 0x4ed01590
mov dword [esp + 0x14], 0x36745f
imul eax, dword [esp + 0x14], 0x49
pop ecx
push 0x34
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffff0e9e
mov eax, dword [esp + 0x14]
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x1dc29e
mov dword [esp + 0x18], 0xd3f523
add dword [esp + 0x18], 0x9fd7
shl dword [esp + 0x18], 9
xor dword [esp + 0x18], 0xa92b3c75
mov dword [esp + 0x18], 0xb79e64
shr dword [esp + 0x18], 0xf
shr dword [esp + 0x18], 0xf
xor dword [esp + 0x18], 0x3f679
mov dword [esp + 0x14], 0x45157a
xor dword [esp + 0x14], 0xc6da19f3
mov eax, dword [esp + 0x14]
pop ecx
div ecx
push 0x48
mov dword [esp + 0x14], eax
xor edx, edx
shl dword [esp + 0x14], 0xc
xor dword [esp + 0x14], 0x1d353970
mov dword [esp + 0x6c], 0xb2693f
mov eax, dword [esp + 0x6c]
pop ecx
div ecx
push 0xf
mov dword [esp + 0x6c], eax
xor edx, edx
add dword [esp + 0x6c], 0xfffff14f
shr dword [esp + 0x6c], 2
xor dword [esp + 0x6c], 0x91ca0
mov dword [esp + 0x2c], 0xe56f73
add dword [esp + 0x2c], 0xffffe05b
shl dword [esp + 0x2c], 2
mov eax, dword [esp + 0x2c]
pop ecx
div ecx
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x3b6e75
mov dword [esp + 0xd8], 0xe8d1b7
or dword [esp + 0xd8], 0x3d6de118
xor dword [esp + 0xd8], 0x3deceb65
mov dword [esp + 0xc0], 0x5262d6
xor dword [esp + 0xc0], 0xf3bd74e8
xor dword [esp + 0xc0], 0xf3eeac43
mov dword [esp + 0x78], 0xbaa48d
add dword [esp + 0x78], 0xfcf3
shr dword [esp + 0x78], 1
xor dword [esp + 0x78], 0x58bee1
mov dword [esp + 0xb8], 0x20f3e
add dword [esp + 0xb8], 0x66bf
add dword [esp + 0xb8], 0xbcdc
xor dword [esp + 0xb8], 0x1a471
mov dword [esp + 0x30], 0x6382f1
xor dword [esp + 0x30], 0x9dea040c
shr dword [esp + 0x30], 6
add dword [esp + 0x30], 0xb086
xor dword [esp + 0x30], 0x27f7142
xor edx, edx
mov dword [esp + 0x5c], 0xfb4781
imul eax, dword [esp + 0x5c], 3
push 0x5c
pop ecx
push 0x41
mov dword [esp + 0x60], eax
shr dword [esp + 0x60], 1
xor dword [esp + 0x60], 0x99d002b9
xor dword [esp + 0x60], 0x98aee71c
mov dword [esp + 0x110], 0x206612
shr dword [esp + 0x110], 0xa
xor dword [esp + 0x110], 0xa76c2
mov dword [esp + 0x104], 0xa35a53
or dword [esp + 0x104], 0xc3895e16
xor dword [esp + 0x104], 0xc3a79d90
mov dword [esp + 0x44], 0x92306d
imul eax, dword [esp + 0x44], 0x37
mov dword [esp + 0x44], eax
shl dword [esp + 0x44], 0xb
mov eax, dword [esp + 0x44]
div ecx
xor edx, edx
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xbfbb4f
mov dword [esp + 0x80], 0x59aec3
shl dword [esp + 0x80], 2
mov eax, dword [esp + 0x80]
pop ecx
div ecx
push 0x3a
mov dword [esp + 0x80], eax
xor edx, edx
xor dword [esp + 0x80], 0xbe600
mov dword [esp + 0xa4], 0xf4f50
shr dword [esp + 0xa4], 8
xor dword [esp + 0xa4], 0xae77e692
xor dword [esp + 0xa4], 0xae7602ac
mov dword [esp + 0x3c], 0x654807
add dword [esp + 0x3c], 0xf0ca
add dword [esp + 0x3c], 0xffff3881
or dword [esp + 0x3c], 0xc9efa320
xor dword [esp + 0x3c], 0xc9e00061
mov dword [esp + 0x118], 0xc8ffbf
imul eax, dword [esp + 0x118], 0x28
pop ecx
push 0x1c
mov dword [esp + 0x118], eax
xor dword [esp + 0x118], 0x1f6d14a1
mov dword [esp + 0x84], 0xa37d27
or dword [esp + 0x84], 0x7edb66fd
xor dword [esp + 0x84], 0x7ef1a21d
mov dword [esp + 0x20], 0xe2c9ff
add dword [esp + 0x20], 0xffffec98
mov eax, dword [esp + 0x20]
div ecx
xor edx, edx
mov dword [esp + 0x20], eax
shr dword [esp + 0x20], 0xd
xor dword [esp + 0x20], 0x92fce
mov dword [esp + 0x64], 0xb87ebf
shl dword [esp + 0x64], 0xa
add dword [esp + 0x64], 0xfffff71b
shr dword [esp + 0x64], 6
xor dword [esp + 0x64], 0x381e418
mov dword [esp + 0x90], 0xa2eaf8
shl dword [esp + 0x90], 0xa
xor dword [esp + 0x90], 0xa004ed2e
xor dword [esp + 0x90], 0x2ba2b361
mov dword [esp + 0x88], 0x299ce8
add dword [esp + 0x88], 0xffffca67
shr dword [esp + 0x88], 4
xor dword [esp + 0x88], 0x5baad
mov dword [esp + 0x74], 0xcd126a
shl dword [esp + 0x74], 0xd
mov eax, dword [esp + 0x74]
pop ecx
div ecx
mov dword [esp + 0x70], eax
xor dword [esp + 0x70], 0x5c055be
mov dword [esp + 0xc4], 0x764b60
xor edx, edx
shl dword [esp + 0xc4], 7
xor dword [esp + 0xc4], 0x3b2eb955
mov dword [esp + 0x9c], 0x72d77b
add dword [esp + 0x9c], 0xd221
mov eax, dword [esp + 0x9c]
push 0x7d
pop ecx
div ecx
push 0x62
mov dword [esp + 0xa0], eax
xor edx, edx
xor dword [esp + 0xa0], 0x21a59
mov dword [esp + 0x98], 0x6efe41
add dword [esp + 0x98], 0x5a4a
add dword [esp + 0x98], 0x6de0
xor dword [esp + 0x98], 0x6bcb86
mov dword [esp + 0x5c], 0xbe695d
shr dword [esp + 0x5c], 1
or dword [esp + 0x5c], 0xe9c3ea66
add dword [esp + 0x5c], 0xffff0d0a
xor dword [esp + 0x5c], 0xe9d415b5
mov dword [esp + 0xd8], 0x557e4d
or dword [esp + 0xd8], 0x6a6400f1
xor dword [esp + 0xd8], 0x6a7b4193
mov dword [esp + 0x28], 0x4969f9
shr dword [esp + 0x28], 8
add dword [esp + 0x28], 0xffffe2aa
add dword [esp + 0x28], 0x5c83
xor dword [esp + 0x28], 0xd6629
mov dword [esp + 0x24], 0xdd9e29
imul eax, dword [esp + 0x24], 0x43
pop ecx
push 0x6c
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0xa5c4afeb
shr dword [esp + 0x24], 3
xor dword [esp + 0x24], 0x13f10888
mov dword [esp + 0xb0], 0xb229aa
imul eax, dword [esp + 0xb0], 0xb
mov dword [esp + 0xb0], eax
add dword [esp + 0xb0], 0xffff1175
xor dword [esp + 0xb0], 0x7a27be9
mov dword [esp + 0xa8], 0x71f40b
add dword [esp + 0xa8], 0xffff3226
shr dword [esp + 0xa8], 0x10
xor dword [esp + 0xa8], 0xd1b5a
mov dword [esp + 0x30], 0xad718b
shl dword [esp + 0x30], 9
or dword [esp + 0x30], 0x106efdf6
add dword [esp + 0x30], 0xffffc215
xor dword [esp + 0x30], 0x5ae255bb
mov dword [esp + 0x40], 0xb52926
imul eax, dword [esp + 0x40], 0x49
mov dword [esp + 0x40], eax
or dword [esp + 0x40], 0x234ac4f4
add dword [esp + 0x40], 0x8d8
xor dword [esp + 0x40], 0x33e2ff8e
mov dword [esp + 0x18], 0x893f42
shl dword [esp + 0x18], 3
or dword [esp + 0x18], 0x3f545e34
xor dword [esp + 0x18], 0x3f584cbd
mov dword [esp + 0xf8], 0x798d91
imul eax, dword [esp + 0xf8], 0x22
mov dword [esp + 0xf8], eax
xor dword [esp + 0xf8], 0x102c7d47
mov dword [esp + 0xec], 0xcb7f5c
shl dword [esp + 0xec], 5
xor dword [esp + 0xec], 0x196ef5f3
mov dword [esp + 0x54], 0x7d6204
mov eax, dword [esp + 0x54]
div ecx
xor edx, edx
mov dword [esp + 0x54], eax
add dword [esp + 0x54], 0xffff5890
mov eax, dword [esp + 0x54]
pop ecx
div ecx
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x5340a
mov dword [esp + 0x108], 0x9d0635
xor edx, edx
imul eax, dword [esp + 0x108], 0x45
push 0x38
pop ecx
push 0x5e
mov dword [esp + 0x10c], eax
xor dword [esp + 0x10c], 0x2a5862ca
mov dword [esp + 0xe4], 0xb243d8
shr dword [esp + 0xe4], 3
xor dword [esp + 0xe4], 0x16d741
mov dword [esp + 0x100], 0x3f9348
add dword [esp + 0x100], 0x2124
xor dword [esp + 0x100], 0x37cc9f
mov dword [esp + 0x50], 0xae8611
mov eax, dword [esp + 0x50]
div ecx
xor edx, edx
mov dword [esp + 0x50], eax
add dword [esp + 0x50], 0xffff28d2
shl dword [esp + 0x50], 5
xor dword [esp + 0x50], 0x45c5c8
mov dword [esp + 0x48], 0x22dc07
add dword [esp + 0x48], 0xffff2699
add dword [esp + 0x48], 0xdabd
shr dword [esp + 0x48], 0xa
xor dword [esp + 0x48], 0xefb22
mov dword [esp + 0x4c], 0xd9f642
or dword [esp + 0x4c], 0x77642f67
shr dword [esp + 0x4c], 7
or dword [esp + 0x4c], 0x837e79ae
xor dword [esp + 0x4c], 0x83fd10ed
mov dword [esp + 0x120], 0x4289e8
xor dword [esp + 0x120], 0x5aab469
xor dword [esp + 0x120], 0x5e90be9
mov dword [esp + 0xcc], 0xa88774
shl dword [esp + 0xcc], 0xd
xor dword [esp + 0xcc], 0x10eb813f
mov dword [esp + 0x1c], 0x5e419c
add dword [esp + 0x1c], 0x1de5
xor dword [esp + 0x1c], 0x54ea57
mov dword [esp + 0x14], 0x40f33c
shl dword [esp + 0x14], 2
shr dword [esp + 0x14], 0x10
mov eax, dword [esp + 0x14]
pop ecx
div ecx
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0x4493f
mov dword [esp + 0x104], 0xc2485e
add dword [esp + 0x104], 0xffff2a1b
xor dword [esp + 0x104], 0xc7974c
mov edi, dword [esp + 0x124]
mov ebp, dword [esp + 0x124]
mov eax, dword [esp + 0x54]
mov ecx, 0x826f267
mov edx, 0x566262b
cmp esi, 0x705f5e7
jg 0x3ab9a5
je 0x3ab971
cmp esi, 0x2520e4a
je 0x3ab94c
cmp esi, 0x32b6253
je 0x3ab8f1
cmp esi, 0x3a22602
je 0x3ab8ea
cmp esi, edx
je 0x3ab8cd
cmp esi, 0x5723c3a
jne 0x3abc63
mov esi, 0x3a22602
jmp 0x3ab888
mov edx, dword [esp + 0x14c]
mov ecx, edi
call fcn.003b4dcf
test eax, eax
mov esi, 0x7c43c2c
push 1
pop eax
cmovne ebx, eax
jmp 0x3ab87a
mov esi, 0xeb2e958
jmp 0x3ab888
push dword [esp + 0x7c]
mov edx, ebp
push dword [esp + 0x68]
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x110]
push dword [esp + 0x120]
push ecx
push dword [esp + 0x144]
push ecx
push dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x98]
call fcn.003a6397
add esp, 0x2c
mov dword [esp + 0x54], eax
test eax, eax
mov esi, 0x93f969a
mov ecx, 0x826f267
cmovne esi, ecx
jmp 0x3ab883
push dword [esp + 0xc8]
mov edx, eax
push dword [esp + 0x120]
mov ecx, dword [esp + 0x50]
call fcn.003b674c
pop ecx
pop ecx
mov esi, 0x93f969a
jmp 0x3ab87a
mov edx, dword [esp + 0xd0]
mov ecx, edi
call fcn.003a678a
mov ecx, eax
mov esi, 0x7c43c2c
mov eax, dword [esp + 0xb4]
mov edx, 0x566262b
cmp ecx, eax
mov eax, dword [esp + 0x54]
mov ecx, 0x826f267
cmove esi, edx
jmp 0x3ab888
cmp esi, 0x7c43c2c
je 0x3abc3c
cmp esi, ecx
je 0x3aba8c
cmp esi, 0x93f969a
je 0x3abc74
cmp esi, 0xc95e1b3
je 0x3aba37
cmp esi, 0xeb2e958
jne 0x3abc63
push dword [esp + 0x78]
push dword [esp + 0xc0]
push dword [esp + 0xc8]
sub esp, 0xc
push dword [esp + 0xf0]
push dword [esp + 0x44]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x138]
call fcn.003a7105
mov edx, dword [esp + 0x50]
mov ebp, eax
mov ecx, dword [esp + 0xd8]
test ebp, ebp
mov eax, 0x32b6253
mov esi, 0x28d67b6
push 0
cmovne esi, eax
call fcn.003a768d
add esp, 0x24
jmp 0x3abc59
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx]
test eax, eax
je 0x3aba49
mov ecx, dword [ecx + 4]
jmp 0x3aba4b
xor ecx, ecx
push ecx
push dword [esp + 0xe4]
mov edx, edi
push dword [esp + 0x150]
push dword [esp + 0x114]
push eax
push dword [esp + 0x64]
push dword [esp + 0x100]
call fcn.003a4c0f
add esp, 0x1c
neg eax
sbb esi, esi
and esi, 0xff41b9bb
add esi, 0x7c43c2c
jmp 0x3ab87a
mov eax, dword [esp + 0x150]
cmp dword [eax], 0
je 0x3abac7
push dword [esp + 0x80]
mov ecx, 0x3a180c
push dword [esp + 0x118]
push dword [esp + 0x40]
mov edx, dword [esp + 0xac]
call fcn.003a57b4
add esp, 0xc
mov dword [esp + 0x120], eax
jmp 0x3abace
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0xf0]
xor edx, edx
or ecx, dword [esp + 0x88]
inc edx
or ecx, dword [esp + 0x110]
or ecx, dword [esp + 0xb0]
or ecx, dword [esp + 0x90]
or ecx, dword [esp + 0xf8]
or ecx, dword [esp + 0xa8]
or ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x144]
or ecx, dword [esp + 0x74]
and esi, edx
je 0x3abb1e
or ecx, 0x803000
push dword [esp + 0xc4]
push dword [esp + 0x74]
push ecx
push ecx
push dword [esp + 0x94]
push eax
push dword [esp + 0xa4]
push ecx
push dword [esp + 0x80]
push ecx
push dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
push dword [esp + 0x184]
call fcn.003bbaae
push dword [esp + 0x88]
mov edx, dword [esp + 0xc8]
mov edi, eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xd0]
push eax
call fcn.003ac5d7
add esp, 0x38
test edi, edi
je 0x3abc32
push dword [esp + 0xcc]
xor eax, eax
mov edx, edi
inc eax
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x28]
push 4
push dword [esp + 0x34]
mov ecx, dword [esp + 0xe8]
call fcn.003bee9a
add esp, 0x14
test esi, esi
je 0x3abc28
push dword [esp + 0x2c]
lea edx, [esp + 0xf0]
push edi
push dword [esp + 0xac]
lea ecx, [esp + 0x130]
push dword [esp + 0xb8]
push dword [esp + 0xec]
call fcn.003bbe15
mov eax, dword [esp + 0x48]
mov edx, edi
push dword [esp + 0xf8]
or dword [esp + 0x104], eax
lea eax, [esp + 0x104]
push eax
push dword [esp + 0x110]
push dword [esp + 0x144]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x64]
call fcn.003bee9a
add esp, 0x28
mov esi, 0xc95e1b3
jmp 0x3ab87a
mov esi, 0x2520e4a
jmp 0x3ab87a
push dword [esp + 0x44]
mov edx, edi
push dword [esp + 0x50]
mov ecx, dword [esp + 0x104]
call fcn.003b674c
pop ecx
pop ecx
mov esi, 0x2520e4a
mov edx, 0x566262b
mov ecx, 0x826f267
cmp esi, 0x28d67b6
je 0x3abc8c
mov eax, dword [esp + 0x54]
jmp 0x3ab888
push dword [esp + 0x104]
mov edx, ebp
push dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
call fcn.003b674c
pop ecx
pop ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x12c
ret