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

Disassembly:
sub esp, 0x120
push esi
push edi
mov edi, ecx
lea eax, [edi + 0x20]
push eax
mov dword [esp + 0x20], edi
call dword [0x100b0088]
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x13c]
lea edx, [esp + 0xc]
push edx
mov edx, dword [esp + 0x13c]
push eax
mov eax, dword [esp + 0x13c]
push ecx
push edx
xor esi, esi
push eax
mov ecx, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call fcn.00cadda0
cmp dword [esp + 0x14], esi
jne 0xcaed38
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
pop edi
mov dword [eax + 4], edx
mov dword [eax], ecx
pop esi
add esp, 0x120
ret 0x14
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push ecx
mov dword [esp + 0x98], ecx
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x98], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
call fcn.00cb3320
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x28], 1
mov eax, dword [esp + 0x28]
cmp eax, esi
jne 0xcaed80
cmp ecx, esi
je 0xcaed87
push ecx
push eax
call fcn.00c29110
push ebx
push ebp
lea esp, [esp]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor edi, edi
cmp ebx, edi
jne 0xcaeda2
cmp eax, edi
je 0xcaedb2
push eax
push ebx
mov dword [esp + 0x134], eax
call fcn.00c290f0
jmp 0xcaedbd
xor ebx, ebx
mov dword [esp + 0x12c], edi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, edi
mov eax, dword [eax + 0x24]
jne 0xcaedcb
cmp eax, edi
je 0xcaedd8
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaeddc
xor esi, esi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0xcaede7
test edi, edi
je 0xcaedee
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaedfb
cmp dword [esp + 0x12c], ebx
je 0xcaee09
mov ecx, dword [esp + 0x12c]
push ecx
push ebx
call fcn.00c29110
xor eax, eax
cmp ebp, eax
je 0xcafaf1
cmp dword [esp + 0x10], eax
jne 0xcaee1f
cmp dword [esp + 0x14], eax
je 0xcaee3e
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push edi
push ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], edi
call fcn.00c290f0
jmp 0xcaee54
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0xcaee64
cmp eax, esi
je 0xcaee7b
push eax
push ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
call fcn.00c290f0
jmp 0xcaee8b
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0xcaee99
cmp eax, esi
je 0xcaeeb2
push eax
push ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
call fcn.00c290f0
mov ebp, eax
jmp 0xcaeec2
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], esi
xor ebp, ebp
cmp ebx, esi
jne 0xcaeeca
cmp edi, esi
je 0xcaeed9
mov edi, dword [esp + 0x14]
push edi
push ebx
mov esi, ebx
call fcn.00c290f0
jmp 0xcaeedf
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp + 0x10]
jne 0xcaeef4
mov eax, dword [eax + 0x24]
cmp eax, dword [ebp + 0x14]
mov byte [esp + 0x1b], 1
je 0xcaeef9
mov byte [esp + 0x1b], 0
test esi, esi
jne 0xcaef01
test edi, edi
je 0xcaef08
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0xe8], 0
jne 0xcaef1c
cmp dword [esp + 0xec], 0
je 0xcaef31
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
push ecx
push edx
call fcn.00c29110
cmp dword [esp + 0x108], 0
jne 0xcaef45
cmp dword [esp + 0x10c], 0
je 0xcaef5a
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
push eax
push ecx
call fcn.00c29110
cmp dword [esp + 0xd8], 0
jne 0xcaef6e
cmp dword [esp + 0xdc], 0
je 0xcaef83
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
push edx
push eax
call fcn.00c29110
xor eax, eax
cmp byte [esp + 0x1b], al
je 0xcaf54c
cmp ebx, eax
jne 0xcaef99
cmp dword [esp + 0x14], eax
je 0xcaefb4
mov eax, dword [esp + 0x14]
push eax
push ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], eax
call fcn.00c290f0
jmp 0xcaefc2
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0xcaefd2
cmp eax, esi
je 0xcaefe3
push eax
push ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
call fcn.00c290f0
jmp 0xcaefed
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0xcaeffb
cmp eax, esi
je 0xcaf008
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf00c
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jne 0xcaf022
test ebp, ebp
je 0xcaf029
push ebp
push esi
call fcn.00c29110
cmp dword [esp + 0x70], 0
jne 0xcaf037
cmp dword [esp + 0x74], 0
je 0xcaf046
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push edx
call fcn.00c29110
cmp dword [esp + 0x118], 0
jne 0xcaf05a
cmp dword [esp + 0x11c], 0
je 0xcaf06f
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
push eax
push ecx
call fcn.00c29110
test edi, edi
jne 0xcaf077
test ebx, ebx
je 0xcaf084
push ebx
push edi
mov esi, edi
mov ebp, ebx
call fcn.00c290f0
jmp 0xcaf08a
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x28]
jne 0xcaf095
test ebp, ebp
je 0xcaf09c
push ebp
push esi
call fcn.00c29110
xor eax, eax
cmp edi, eax
je 0xcaf28e
cmp dword [esp + 0x10], eax
jne 0xcaf0b2
cmp dword [esp + 0x14], eax
je 0xcaf0c3
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.00c290f0
jmp 0xcaf0c9
xor edi, edi
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf0d7
test eax, eax
je 0xcaf0e4
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf0ea
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xcaf0f9
test ebp, ebp
je 0xcaf100
push ebp
push esi
call fcn.00c29110
test edi, edi
jne 0xcaf108
test ebx, ebx
je 0xcaf10f
push ebx
push edi
call fcn.00c29110
cmp dword [esp + 0x1c], 0
jne 0xcaf11d
cmp dword [esp + 0x20], 0
je 0xcaf12e
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.00c290f0
jmp 0xcaf134
xor esi, esi
xor edi, edi
xor eax, eax
xor ebx, ebx
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0xcaf141
cmp edi, ebx
je 0xcaf148
push edi
push esi
call fcn.00c29110
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov eax, dword [esp + 0x14]
jne 0xcaf158
cmp eax, ebx
je 0xcaf16f
push eax
push ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
call fcn.00c290f0
jmp 0xcaf17f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
mov eax, dword [eax + 0x24]
jne 0xcaf18d
cmp eax, ebx
je 0xcaf19a
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf1a0
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf1ae
test eax, eax
je 0xcaf1bb
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf1c1
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xcaf1d0
test edi, edi
je 0xcaf1d7
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf1df
test ebp, ebp
je 0xcaf1e6
push ebp
push ebx
call fcn.00c29110
cmp dword [esp + 0xb8], 0
jne 0xcaf1fa
cmp dword [esp + 0xbc], 0
je 0xcaf20f
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
push edx
push eax
call fcn.00c29110
cmp dword [esp + 0x10], 0
jne 0xcaf21d
cmp dword [esp + 0x14], 0
je 0xcaf232
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.00c290f0
jmp 0xcaf238
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf246
test eax, eax
je 0xcaf253
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf259
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0xcaf26f
test edi, edi
je 0xcaf276
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf282
test ebp, ebp
je 0xcaed90
push ebp
push ebx
call fcn.00c29110
jmp 0xcaed90
cmp dword [esp + 0x10], eax
jne 0xcaf29a
cmp dword [esp + 0x14], eax
je 0xcaf2b9
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ebx
call fcn.00c290f0
jmp 0xcaf2cf
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf2dd
test eax, eax
je 0xcaf2ea
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf2f0
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0xcaf2ff
cmp ebx, dword [eax + 0x1c]
mov byte [esp + 0x1b], 1
je 0xcaf304
mov byte [esp + 0x1b], 0
test esi, esi
jne 0xcaf30c
test edi, edi
je 0xcaf313
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0xf8], 0
jne 0xcaf327
cmp dword [esp + 0xfc], 0
je 0xcaf33c
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xf8]
push eax
push ecx
call fcn.00c29110
cmp byte [esp + 0x1b], 0
je 0xcaf39c
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.00cb3320
mov eax, dword [esp + 0x48]
mov ebp, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x50]
cmp eax, esi
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
jne 0xcaf37e
cmp ecx, esi
je 0xcaf385
push ecx
push eax
call fcn.00c29110
mov ecx, dword [esp + 0x24]
push ebx
push ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], esi
call fcn.00ca3680
test ebp, ebp
jne 0xcaf3a4
test ebx, ebx
je 0xcaf3b5
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.00c290f0
jmp 0xcaf3bb
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf3c9
test eax, eax
je 0xcaf3d6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf3dc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xcaf3eb
test edi, edi
je 0xcaf3f2
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xcaf3fa
test ebx, ebx
je 0xcaf401
push ebx
push ebp
call fcn.00c29110
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0xcaf40f
cmp dword [esp + 0x14], eax
je 0xcaf42e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
call fcn.00c290f0
jmp 0xcaf43c
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf44a
test eax, eax
je 0xcaf457
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf45d
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf46b
test eax, eax
je 0xcaf478
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf47e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xcaf48d
test edi, edi
je 0xcaf494
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf49c
test ebp, ebp
je 0xcaf4a3
push ebp
push ebx
call fcn.00c29110
cmp dword [esp + 0x80], 0
jne 0xcaf4b7
cmp dword [esp + 0x84], 0
je 0xcaf4cc
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00c29110
cmp dword [esp + 0x10], 0
jne 0xcaf4da
cmp dword [esp + 0x14], 0
je 0xcaf4ed
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
push ebp
mov ecx, ebx
push ecx
call fcn.00c290f0
jmp 0xcaf4f3
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf501
test eax, eax
je 0xcaf50e
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf514
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x24]
push edx
push eax
call fcn.00ca3210
test esi, esi
jne 0xcaf52d
test edi, edi
je 0xcaf534
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf540
test ebp, ebp
je 0xcaed90
push ebp
push ebx
call fcn.00c29110
jmp 0xcaed90
cmp ebx, eax
jne 0xcaf556
cmp dword [esp + 0x14], eax
je 0xcaf571
mov eax, dword [esp + 0x14]
push eax
push ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], eax
call fcn.00c290f0
jmp 0xcaf57f
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0xcaf58f
cmp eax, esi
je 0xcaf5a6
push eax
push ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
call fcn.00c290f0
jmp 0xcaf5b6
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0xcaf5c4
cmp eax, esi
je 0xcaf5d1
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf5d5
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jne 0xcaf5eb
test ebp, ebp
je 0xcaf5f2
push ebp
push esi
call fcn.00c29110
cmp dword [esp + 0x90], 0
jne 0xcaf606
cmp dword [esp + 0x94], 0
je 0xcaf61b
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ecx
push edx
call fcn.00c29110
cmp dword [esp + 0xa8], 0
jne 0xcaf62f
cmp dword [esp + 0xac], 0
je 0xcaf644
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
push eax
push ecx
call fcn.00c29110
test edi, edi
jne 0xcaf64c
test ebx, ebx
je 0xcaf659
push ebx
push edi
mov esi, edi
mov ebp, ebx
call fcn.00c290f0
jmp 0xcaf65f
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x28]
jne 0xcaf66a
test ebp, ebp
je 0xcaf671
push ebp
push esi
call fcn.00c29110
xor eax, eax
cmp edi, eax
je 0xcaf863
cmp dword [esp + 0x10], eax
jne 0xcaf687
cmp dword [esp + 0x14], eax
je 0xcaf698
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.00c290f0
jmp 0xcaf69e
xor edi, edi
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf6ac
test eax, eax
je 0xcaf6b9
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf6bf
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xcaf6ce
test ebp, ebp
je 0xcaf6d5
push ebp
push esi
call fcn.00c29110
test edi, edi
jne 0xcaf6dd
test ebx, ebx
je 0xcaf6e4
push ebx
push edi
call fcn.00c29110
cmp dword [esp + 0x1c], 0
jne 0xcaf6f2
cmp dword [esp + 0x20], 0
je 0xcaf703
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.00c290f0
jmp 0xcaf709
xor esi, esi
xor edi, edi
xor eax, eax
xor ebx, ebx
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0xcaf716
cmp edi, ebx
je 0xcaf71d
push edi
push esi
call fcn.00c29110
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov eax, dword [esp + 0x14]
jne 0xcaf72d
cmp eax, ebx
je 0xcaf744
push eax
push ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
call fcn.00c290f0
jmp 0xcaf754
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
mov eax, dword [eax + 0x24]
jne 0xcaf762
cmp eax, ebx
je 0xcaf76f
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcaf775
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf783
test eax, eax
je 0xcaf790
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf796
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xcaf7a5
test edi, edi
je 0xcaf7ac
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf7b4
test ebp, ebp
je 0xcaf7bb
push ebp
push ebx
call fcn.00c29110
cmp dword [esp + 0xc8], 0
jne 0xcaf7cf
cmp dword [esp + 0xcc], 0
je 0xcaf7e4
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
push edx
push eax
call fcn.00c29110
cmp dword [esp + 0x10], 0
jne 0xcaf7f2
cmp dword [esp + 0x14], 0
je 0xcaf807
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.00c290f0
jmp 0xcaf80d
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf81b
test eax, eax
je 0xcaf828
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf82e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0xcaf844
test edi, edi
je 0xcaf84b
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcaf857
test ebp, ebp
je 0xcaed90
push ebp
push ebx
call fcn.00c29110
jmp 0xcaed90
cmp dword [esp + 0x10], eax
jne 0xcaf86f
cmp dword [esp + 0x14], eax
je 0xcaf888
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebx
call fcn.00c290f0
jmp 0xcaf898
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf8a6
test eax, eax
je 0xcaf8b3
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf8b9
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jne 0xcaf8c8
cmp ebx, dword [eax + 0x14]
mov byte [esp + 0x1b], 1
je 0xcaf8cd
mov byte [esp + 0x1b], 0
test esi, esi
jne 0xcaf8d5
test edi, edi
je 0xcaf8dc
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0x40], 0
jne 0xcaf8ea
cmp dword [esp + 0x44], 0
je 0xcaf8f9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.00c29110
cmp byte [esp + 0x1b], 0
je 0xcaf959
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
call fcn.00cb3320
mov eax, dword [esp + 0x58]
mov ebp, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x60]
cmp eax, esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
jne 0xcaf93b
cmp ecx, esi
je 0xcaf942
push ecx
push eax
call fcn.00c29110
mov ecx, dword [esp + 0x24]
push ebx
push ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x60], esi
call fcn.00ca3210
test ebp, ebp
jne 0xcaf961
test ebx, ebx
je 0xcaf972
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.00c290f0
jmp 0xcaf978
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf986
test eax, eax
je 0xcaf993
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcaf999
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xcaf9a8
test edi, edi
je 0xcaf9af
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xcaf9b7
test ebx, ebx
je 0xcaf9be
push ebx
push ebp
call fcn.00c29110
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0xcaf9cc
cmp dword [esp + 0x14], eax
je 0xcaf9e5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
call fcn.00c290f0
jmp 0xcaf9ed
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcaf9fb
test eax, eax
je 0xcafa08
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xcafa0e
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcafa1c
test eax, eax
je 0xcafa29
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcafa2f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xcafa3e
test edi, edi
je 0xcafa45
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcafa4d
test ebp, ebp
je 0xcafa54
push ebp
push ebx
call fcn.00c29110
cmp dword [esp + 0x30], 0
jne 0xcafa62
cmp dword [esp + 0x34], 0
je 0xcafa71
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.00c29110
cmp dword [esp + 0x10], 0
jne 0xcafa7f
cmp dword [esp + 0x14], 0
je 0xcafa92
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
push ebp
mov ecx, ebx
push ecx
call fcn.00c290f0
jmp 0xcafa98
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xcafaa6
test eax, eax
je 0xcafab3
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xcafab9
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x24]
push edx
push eax
call fcn.00ca3680
test esi, esi
jne 0xcafad2
test edi, edi
je 0xcafad9
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xcafae5
test ebp, ebp
je 0xcaed90
push ebp
push ebx
call fcn.00c29110
jmp 0xcaed90
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
xor esi, esi
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call fcn.00cb3320
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
call fcn.00cb3320
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x28], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
pop ebp
pop ebx
jne 0xcafb4e
cmp ecx, esi
je 0xcafb55
push ecx
push eax
call fcn.00c29110
mov eax, dword [esp + 0x38]
cmp eax, esi
mov ecx, dword [esp + 0x3c]
jne 0xcafb65
cmp ecx, esi
je 0xcafb6c
push ecx
push eax
call fcn.00c29110
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
pop edi
mov dword [eax + 4], edx
mov dword [eax], ecx
pop esi
add esp, 0x120
ret 0x14