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

Disassembly:
sub esp, 0x1ec
push esi
mov esi, ecx
push edi
lea eax, [esi + 0x20]
xor edi, edi
push eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
call dword [0x100b0088]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
push ecx
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call fcn.00cb3320
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x2c]
cmp eax, edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
jne 0xca3a8d
cmp ecx, edi
je 0xca3a94
push ecx
push eax
call fcn.00c29110
push ebx
push ebp
jmp 0xca3aa0
mov ebp, dword [esp + 0x200]
or dword [esp + 0x14], 1
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0xca3abb
test ebx, ebx
je 0xca3ac8
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.00c290f0
jmp 0xca3ace
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0xca3ae7
cmp dword [esp + 0x24], ebp
jne 0xca3ae0
cmp dword [esp + 0x28], ebx
je 0xca3ae7
mov byte [esp + 0x13], 1
jmp 0xca3aec
mov byte [esp + 0x13], 0
test byte [esp + 0x14], 1
je 0xca3b07
and dword [esp + 0x14], 0xfffffffe
test esi, esi
jne 0xca3b00
test edi, edi
je 0xca3b07
push edi
push esi
call fcn.00c29110
cmp byte [esp + 0x13], 0
je 0xca4dd5
xor eax, eax
cmp ebp, eax
jne 0xca3b1c
cmp ebx, eax
je 0xca3b33
push ebx
push ebp
mov dword [esp + 0x16c], ebp
mov dword [esp + 0x170], ebx
call fcn.00c290f0
jmp 0xca3b41
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca3b4f
test eax, eax
je 0xca3b5c
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca3b62
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jne 0xca3b71
cmp ebx, dword [eax + 0x14]
mov byte [esp + 0x13], 1
je 0xca3b76
mov byte [esp + 0x13], 0
test esi, esi
jne 0xca3b7e
test edi, edi
je 0xca3b85
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0x164], 0
jne 0xca3b99
cmp dword [esp + 0x168], 0
je 0xca3bae
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push eax
push ecx
call fcn.00c29110
xor eax, eax
cmp byte [esp + 0x13], al
je 0xca44a0
cmp ebp, eax
jne 0xca3bc2
cmp ebx, eax
je 0xca3bd3
push ebx
push ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
call fcn.00c290f0
jmp 0xca3bdb
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca3be9
test eax, eax
je 0xca3bf6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca3bfc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
jne 0xca3c12
test edi, edi
je 0xca3c19
push edi
push esi
call fcn.00c29110
mov eax, dword [esp + 0x44]
test eax, eax
jne 0xca3c27
cmp dword [esp + 0x48], eax
je 0xca3c32
mov edx, dword [esp + 0x48]
push edx
push eax
call fcn.00c29110
test ebx, ebx
jne 0xca3c3a
test ebp, ebp
je 0xca3c47
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.00c290f0
jmp 0xca3c4d
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0xca3c58
test edi, edi
je 0xca3c5f
push edi
push esi
call fcn.00c29110
test ebp, ebp
je 0xca3df0
test ebx, ebx
jne 0xca3c71
cmp dword [esp + 0x1c], ebx
je 0xca3c80
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.00c290f0
jmp 0xca3c86
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca3c95
test edi, edi
je 0xca3c9c
push edi
push esi
call fcn.00c29110
mov ebp, dword [esp + 0x200]
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0xca3cb2
test ebx, ebx
je 0xca3cc9
push ebx
push ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebx
call fcn.00c290f0
jmp 0xca3cd9
xor eax, eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca3ce7
test eax, eax
je 0xca3cf4
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca3cfa
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca3d09
test edi, edi
je 0xca3d10
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0xb4], 0
jne 0xca3d24
cmp dword [esp + 0xb8], 0
je 0xca3d39
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
push eax
push ecx
call fcn.00c29110
test ebp, ebp
jne 0xca3d41
test ebx, ebx
je 0xca3d4e
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.00c290f0
jmp 0xca3d54
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.00ca3680
test esi, esi
jne 0xca3d6d
test edi, edi
je 0xca3d74
push edi
push esi
call fcn.00c29110
xor eax, eax
cmp ebp, eax
jne 0xca3d7e
cmp ebx, eax
je 0xca3d8e
push ebx
push ebp
mov dword [esp + 0x180], ebx
call fcn.00c290f0
jmp 0xca3d97
xor ebp, ebp
mov dword [esp + 0x178], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca3da5
test eax, eax
je 0xca3db2
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca3db8
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
jne 0xca3dce
test edi, edi
je 0xca3dd5
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca3de2
cmp dword [esp + 0x178], ebp
je 0xca3df0
mov edx, dword [esp + 0x178]
push edx
push ebp
call fcn.00c29110
mov eax, dword [esp + 0x14]
or eax, 6
mov dword [esp + 0x14], eax
xor eax, eax
cmp ebx, eax
jne 0xca3e07
cmp dword [esp + 0x1c], eax
je 0xca3e22
mov esi, dword [esp + 0x1c]
push esi
push ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], esi
call fcn.00c290f0
jmp 0xca3e34
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
xor edi, edi
cmp ecx, edi
jne 0xca3e44
cmp eax, edi
je 0xca3e5b
push eax
push ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
call fcn.00c290f0
jmp 0xca3e6b
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], edi
xor eax, eax
cmp dword [eax + 0x28], edi
jne 0xca3efc
mov eax, dword [esp + 0x14]
or eax, 0x18
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0xca3e87
cmp esi, edi
je 0xca3ea0
push esi
mov ebp, ebx
push ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], esi
call fcn.00c290f0
jmp 0xca3eb2
xor ebp, ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], edi
xor eax, eax
mov ecx, dword [eax + 0x10]
cmp ecx, edi
mov eax, dword [eax + 0x14]
jne 0xca3ec0
cmp eax, edi
je 0xca3edb
push eax
mov esi, ecx
mov edi, eax
push ecx
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], edi
call fcn.00c290f0
jmp 0xca3eef
xor esi, esi
xor edi, edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0xca3f11
mov byte [esp + 0x13], 1
jmp 0xca3f16
mov edi, dword [esp + 0xd8]
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x94]
mov byte [esp + 0x13], 0
test byte [esp + 0x14], 0x10
je 0xca3f41
and dword [esp + 0x14], 0xffffffef
test esi, esi
jne 0xca3f2a
test edi, edi
je 0xca3f31
push edi
push esi
call fcn.00c29110
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
test byte [esp + 0x14], 8
je 0xca3f78
and dword [esp + 0x14], 0xfffffff7
test ebp, ebp
jne 0xca3f5a
cmp dword [esp + 0x98], ebp
je 0xca3f68
mov eax, dword [esp + 0x98]
push eax
push ebp
call fcn.00c29110
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
test byte [esp + 0x14], 4
je 0xca3fad
and dword [esp + 0x14], 0xfffffffb
cmp dword [esp + 0xc4], 0
jne 0xca3f98
cmp dword [esp + 0xc8], 0
je 0xca3fad
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
push ecx
push edx
call fcn.00c29110
test byte [esp + 0x14], 2
je 0xca3fe2
and dword [esp + 0x14], 0xfffffffd
cmp dword [esp + 0x144], 0
jne 0xca3fcd
cmp dword [esp + 0x148], 0
je 0xca3fe2
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
push eax
push ecx
call fcn.00c29110
cmp byte [esp + 0x13], 0
je 0xca4073
test ebx, ebx
jne 0xca3ff7
cmp dword [esp + 0x1c], ebx
je 0xca4006
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.00c290f0
jmp 0xca400c
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca401b
test edi, edi
je 0xca4022
push edi
push esi
call fcn.00c29110
mov esi, dword [esp + 0x200]
test esi, esi
mov edi, dword [esp + 0x204]
jne 0xca4038
test edi, edi
je 0xca4041
push edi
push esi
call fcn.00c290f0
jmp 0xca4047
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], eax
jne 0xca4067
test edi, edi
je 0xca3aa0
push edi
push esi
call fcn.00c29110
jmp 0xca3aa0
test ebx, ebx
jne 0xca407d
cmp dword [esp + 0x1c], ebx
je 0xca4093
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1d0], eax
call fcn.00c290f0
jmp 0xca409e
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1c8], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0xca40ac
test eax, eax
je 0xca40b9
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca40bf
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
sete byte [esp + 0x13]
test esi, esi
jne 0xca40d0
test edi, edi
je 0xca40d7
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca40e4
cmp dword [esp + 0x1c8], ebp
je 0xca40f2
mov ecx, dword [esp + 0x1c8]
push ecx
push ebp
call fcn.00c29110
cmp byte [esp + 0x13], 0
je 0xca4266
test ebx, ebx
jne 0xca4107
cmp dword [esp + 0x1c], ebx
je 0xca411d
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1b0], eax
call fcn.00c290f0
jmp 0xca4128
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1a8], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov eax, dword [eax + 0x14]
jne 0xca4136
test eax, eax
je 0xca4143
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca4149
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca4158
test edi, edi
je 0xca415f
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca416c
cmp dword [esp + 0x1a8], ebp
je 0xca417a
mov edx, dword [esp + 0x1a8]
push edx
push ebp
call fcn.00c29110
test ebx, ebx
jne 0xca4184
cmp dword [esp + 0x1c], ebx
je 0xca4195
mov ebp, dword [esp + 0x1c]
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.00c290f0
jmp 0xca419f
mov ebp, dword [esp + 0x1c]
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca41ae
test edi, edi
je 0xca41b5
push edi
push esi
call fcn.00c29110
mov ecx, dword [esp + 0x20]
push ebp
push ebx
call fcn.00ca3210
mov ebx, dword [esp + 0x200]
test ebx, ebx
mov ebp, dword [esp + 0x204]
jne 0xca41d6
test ebp, ebp
je 0xca41ed
push ebp
push ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebp
call fcn.00c290f0
jmp 0xca41fd
xor eax, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca420b
test eax, eax
je 0xca4218
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca421e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jne 0xca4234
test edi, edi
je 0xca423b
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0xe4], 0
jne 0xca424f
cmp dword [esp + 0xe8], 0
je 0xca4274
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
push eax
push ecx
call fcn.00c29110
jmp 0xca4274
mov ebp, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
xor esi, esi
cmp ebx, esi
jne 0xca427e
cmp ebp, esi
je 0xca4295
push ebp
push ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebp
call fcn.00c290f0
jmp 0xca42a5
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0xca42b3
cmp eax, esi
je 0xca42c7
push eax
push ecx
mov ebx, ecx
mov dword [esp + 0x1f0], eax
call fcn.00c290f0
mov ebp, eax
jmp 0xca42d2
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1e8], ebp
cmp dword [esp + 0x18], 0
jne 0xca42e0
cmp dword [esp + 0x1c], 0
je 0xca42f1
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edi
push esi
call fcn.00c290f0
jmp 0xca42f7
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [ebp + 0x28]
mov dword [eax + 0x28], edx
jne 0xca4305
test edi, edi
je 0xca430c
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xca4319
cmp dword [esp + 0x1e8], ebx
je 0xca4327
mov eax, dword [esp + 0x1e8]
push eax
push ebx
call fcn.00c29110
cmp dword [esp + 0xa4], 0
jne 0xca433b
cmp dword [esp + 0xa8], 0
je 0xca4350
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push ecx
push edx
call fcn.00c29110
cmp dword [esp + 0x200], 0
jne 0xca4364
cmp dword [esp + 0x204], 0
je 0xca437f
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.00c290f0
jmp 0xca4385
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca4393
test eax, eax
je 0xca43a0
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca43a6
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca43b5
test edi, edi
je 0xca43bc
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xca43c4
test ebp, ebp
je 0xca43cb
push ebp
push ebx
call fcn.00c29110
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov eax, dword [esp + 0x1c]
jne 0xca43db
test eax, eax
je 0xca43e8
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.00c290f0
jmp 0xca43ee
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0xca43fc
test eax, eax
je 0xca4409
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca440f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca441e
test edi, edi
je 0xca4425
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xca442d
test ebp, ebp
je 0xca4434
push ebp
push ebx
call fcn.00c29110
cmp dword [esp + 0x200], 0
jne 0xca4448
cmp dword [esp + 0x204], 0
je 0xca445f
mov edi, dword [esp + 0x204]
mov esi, dword [esp + 0x200]
push edi
push esi
call fcn.00c290f0
jmp 0xca4465
xor esi, esi
xor edi, edi
xor eax, eax
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00ca3680
test esi, esi
jne 0xca447e
test edi, edi
je 0xca4485
push edi
push esi
call fcn.00c29110
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
jmp 0xca3aa0
cmp ebp, eax
jne 0xca44a8
cmp ebx, eax
je 0xca44bf
push ebx
push ebp
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], ebx
call fcn.00c290f0
jmp 0xca44cd
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca44db
test eax, eax
je 0xca44e8
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca44ee
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
jne 0xca4504
test edi, edi
je 0xca450b
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0x134], 0
jne 0xca451f
cmp dword [esp + 0x138], 0
je 0xca4534
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x134]
push edx
push eax
call fcn.00c29110
test ebx, ebx
jne 0xca453c
test ebp, ebp
je 0xca4549
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.00c290f0
jmp 0xca454f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0xca455a
test edi, edi
je 0xca4561
push edi
push esi
call fcn.00c29110
test ebp, ebp
je 0xca46f2
test ebx, ebx
jne 0xca4573
cmp dword [esp + 0x1c], ebx
je 0xca4582
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.00c290f0
jmp 0xca4588
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca4597
test edi, edi
je 0xca459e
push edi
push esi
call fcn.00c29110
mov ebp, dword [esp + 0x200]
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0xca45b4
test ebx, ebx
je 0xca45cb
push ebx
push ebp
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x120], ebx
call fcn.00c290f0
jmp 0xca45db
xor eax, eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca45e9
test eax, eax
je 0xca45f6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca45fc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca460b
test edi, edi
je 0xca4612
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0x114], 0
jne 0xca4626
cmp dword [esp + 0x118], 0
je 0xca463b
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
push ecx
push edx
call fcn.00c29110
test ebp, ebp
jne 0xca4643
test ebx, ebx
je 0xca4650
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.00c290f0
jmp 0xca4656
xor esi, esi
xor edi, edi
xor eax, eax
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00ca3210
test esi, esi
jne 0xca466f
test edi, edi
je 0xca4676
push edi
push esi
call fcn.00c29110
xor eax, eax
cmp ebp, eax
jne 0xca4680
cmp ebx, eax
je 0xca4690
push ebx
push ebp
mov dword [esp + 0x190], ebx
call fcn.00c290f0
jmp 0xca4699
xor ebp, ebp
mov dword [esp + 0x188], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca46a7
test eax, eax
je 0xca46b4
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca46ba
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
jne 0xca46d0
test edi, edi
je 0xca46d7
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca46e4
cmp dword [esp + 0x188], ebp
je 0xca46f2
mov ecx, dword [esp + 0x188]
push ecx
push ebp
call fcn.00c29110
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
or eax, 0x60
xor edi, edi
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0xca470b
cmp esi, edi
je 0xca4722
push esi
push ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
call fcn.00c290f0
jmp 0xca4732
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], edi
xor eax, eax
mov ecx, dword [eax + 0x18]
cmp ecx, edi
mov eax, dword [eax + 0x1c]
jne 0xca4740
cmp eax, edi
je 0xca4757
push eax
push ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
call fcn.00c290f0
jmp 0xca4767
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
xor eax, eax
cmp dword [eax + 0x28], edi
jne 0xca47fa
mov eax, dword [esp + 0x14]
or eax, 0x180
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0xca4785
cmp esi, edi
je 0xca479e
push esi
mov ebp, ebx
push ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], esi
call fcn.00c290f0
jmp 0xca47b0
xor ebp, ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], edi
xor eax, eax
mov ecx, dword [eax + 0x10]
cmp ecx, edi
mov eax, dword [eax + 0x14]
jne 0xca47be
cmp eax, edi
je 0xca47d9
push eax
mov esi, ecx
mov edi, eax
push ecx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], edi
call fcn.00c290f0
jmp 0xca47ed
xor esi, esi
xor edi, edi
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0xca480f
mov byte [esp + 0x13], 1
jmp 0xca4814
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x154]
mov ebp, dword [esp + 0x84]
mov byte [esp + 0x13], 0
test dword [esp + 0x14], 0x100
je 0xca4845
and dword [esp + 0x14], 0xfffffeff
test esi, esi
jne 0xca482e
test edi, edi
je 0xca4835
push edi
push esi
call fcn.00c29110
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
test byte [esp + 0x14], 0x80
je 0xca487f
and dword [esp + 0x14], 0xffffff7f
test ebp, ebp
jne 0xca4861
cmp dword [esp + 0x88], ebp
je 0xca486f
mov edx, dword [esp + 0x88]
push edx
push ebp
call fcn.00c29110
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
test byte [esp + 0x14], 0x40
je 0xca48b4
and dword [esp + 0x14], 0xffffffbf
cmp dword [esp + 0xf4], 0
jne 0xca489f
cmp dword [esp + 0xf8], 0
je 0xca48b4
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
push eax
push ecx
call fcn.00c29110
test byte [esp + 0x14], 0x20
je 0xca48e9
and dword [esp + 0x14], 0xffffffdf
cmp dword [esp + 0x104], 0
jne 0xca48d4
cmp dword [esp + 0x108], 0
je 0xca48e9
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
push edx
push eax
call fcn.00c29110
cmp byte [esp + 0x13], 0
je 0xca497a
test ebx, ebx
jne 0xca48fe
cmp dword [esp + 0x1c], ebx
je 0xca490d
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.00c290f0
jmp 0xca4913
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca4922
test edi, edi
je 0xca4929
push edi
push esi
call fcn.00c29110
mov esi, dword [esp + 0x200]
test esi, esi
mov edi, dword [esp + 0x204]
jne 0xca493f
test edi, edi
je 0xca4948
push edi
push esi
call fcn.00c290f0
jmp 0xca494e
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 + 0x200], ecx
mov dword [esp + 0x204], edx
jne 0xca496e
test edi, edi
je 0xca3aa0
push edi
push esi
call fcn.00c29110
jmp 0xca3aa0
test ebx, ebx
jne 0xca4984
cmp dword [esp + 0x1c], ebx
je 0xca499a
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1a0], eax
call fcn.00c290f0
jmp 0xca49a5
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x198], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov eax, dword [eax + 0x14]
jne 0xca49b3
test eax, eax
je 0xca49c0
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca49c6
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
sete byte [esp + 0x13]
test esi, esi
jne 0xca49d7
test edi, edi
je 0xca49de
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca49eb
cmp dword [esp + 0x198], ebp
je 0xca49f9
mov eax, dword [esp + 0x198]
push eax
push ebp
call fcn.00c29110
cmp byte [esp + 0x13], 0
je 0xca4b6d
test ebx, ebx
jne 0xca4a0e
cmp dword [esp + 0x1c], ebx
je 0xca4a24
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1c0], eax
call fcn.00c290f0
jmp 0xca4a2f
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1b8], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0xca4a3d
test eax, eax
je 0xca4a4a
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca4a50
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0xca4a5f
test edi, edi
je 0xca4a66
push edi
push esi
call fcn.00c29110
test ebp, ebp
jne 0xca4a73
cmp dword [esp + 0x1b8], ebp
je 0xca4a81
mov ecx, dword [esp + 0x1b8]
push ecx
push ebp
call fcn.00c29110
test ebx, ebx
jne 0xca4a8b
cmp dword [esp + 0x1c], ebx
je 0xca4a9c
mov ebp, dword [esp + 0x1c]
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.00c290f0
jmp 0xca4aa6
mov ebp, dword [esp + 0x1c]
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0xca4ab5
test edi, edi
je 0xca4abc
push edi
push esi
call fcn.00c29110
mov ecx, dword [esp + 0x20]
push ebp
push ebx
call fcn.00ca3680
mov ebx, dword [esp + 0x200]
test ebx, ebx
mov ebp, dword [esp + 0x204]
jne 0xca4add
test ebp, ebp
je 0xca4af4
push ebp
push ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebp
call fcn.00c290f0
jmp 0xca4b04
xor eax, eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0xca4b12
test eax, eax
je 0xca4b1f
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca4b25
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0xca4b3b
test edi, edi
je 0xca4b42
push edi
push esi
call fcn.00c29110
cmp dword [esp + 0x124], 0
jne 0xca4b56
cmp dword [esp + 0x128], 0
je 0xca4b7b
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
push ecx
push edx
call fcn.00c29110
jmp 0xca4b7b
mov ebp, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
xor esi, esi
cmp ebx, esi
jne 0xca4b85
cmp ebp, esi
je 0xca4b96
push ebp
push ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
call fcn.00c290f0
jmp 0xca4ba0
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0xca4bae
cmp eax, esi
je 0xca4bc2
push eax
push ecx
mov ebx, ecx
mov dword [esp + 0x1e0], eax
call fcn.00c290f0
mov ebp, eax
jmp 0xca4bcd
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1d8], ebp
cmp dword [esp + 0x18], 0
jne 0xca4bdb
cmp dword [esp + 0x1c], 0
je 0xca4bec
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edi
push esi
call fcn.00c290f0
jmp 0xca4bf2
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [ebp + 0x28]
mov dword [eax + 0x28], ecx
jne 0xca4c00
test edi, edi
je 0xca4c07
push edi
push esi
call fcn.00c29110
test ebx, ebx
jne 0xca4c14
cmp dword [esp + 0x1d8], ebx
je 0xca4c22
mov edx, dword [esp + 0x1d8]
push edx
push ebx
call fcn.00c29110
cmp dword [esp + 0x34], 0
jne 0xca4c30
cmp dword [esp + 0x38], 0
je 0xca4c3f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00c29110
xor eax, eax
cmp dword [esp + 0x200], eax
jne 0xca4c53
cmp dword [esp + 0x204], eax
je 0xca4c71
mov eax, dword [esp + 0x204]
mov ebp, dword [esp + 0x200]
push eax
push ebp
mov dword [esp + 0x200], eax
call fcn.00c290f0
jmp 0xca4c7a
xor ebp, ebp
mov dword [esp + 0x1f8], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor ebx, ebx
cmp ecx, ebx
jne 0xca4c8a
cmp eax, ebx
je 0xca4c97
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.00c290f0
jmp 0xca4c9d
xor esi, esi
xor edi, edi
xor eax, eax
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0xca4ca8
cmp edi, ebx
je 0xca4caf
push edi
push esi
call fcn.00c29110
cmp ebp, ebx
jne 0xca4cbc
cmp dword [esp + 0x1f8], ebx
je 0xca4cca
mov edx, dword [esp + 0x1f8]
push edx
push ebp
call fcn.00c29110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.00cb3320
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push edx
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
call fcn.00cb3320
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
cmp eax, ebx
mov dword [ecx + 0x28], ebx
mov ecx, dword [esp + 0x58]
jne 0xca4d24
cmp ecx, ebx
je 0xca4d2b
push ecx
push eax
call fcn.00c29110
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], ebx
jne 0xca4d47
cmp ecx, ebx
je 0xca4d4e
push ecx
push eax
call fcn.00c29110
mov edx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
push edx
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.00cb3320
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00ca3210
mov eax, dword [esp + 0x64]
cmp eax, ebx
mov ecx, dword [esp + 0x68]
jne 0xca4da7
cmp ecx, ebx
je 0xca4dae
push ecx
push eax
call fcn.00c29110
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
jmp 0xca3aa0
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
call fcn.00cb3320
mov eax, dword [esp + 0x44]
cmp eax, esi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
pop ebp
mov dword [edx + 0x28], esi
pop ebx
jne 0xca4e07
cmp ecx, esi
je 0xca4e0e
push ecx
push eax
call fcn.00c29110
pop edi
pop esi
add esp, 0x1ec
ret 8