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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
push ebx
push esi
push edi
mov ebx, ecx
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], ebx
call fcn.00d02150
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
call fcn.00cba3a0
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x14]
call fcn.00cba450
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 1
push 0x100b1210
push edx
push eax
lea ecx, [esp + 0x164]
call fcn.00cba180
mov ecx, eax
call fcn.00cba290
test eax, eax
je 0xc8df34
mov ecx, dword [0x100bc66c]
mov edx, dword [0x100bc670]
mov eax, dword [0x100bc674]
mov dword [esp + 0x80], ecx
mov cx, word [0x100bc678]
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.00cba230
cmp ax, 6
jb 0xc8df34
push 5
lea ecx, [esp + 0x14]
call fcn.00cba530
cmp ax, 0x3a
jne 0xc8df34
push 4
lea ecx, [esp + 0x14]
call fcn.00cba530
mov ecx, dword [ebx + 0x48]
mov word [esp + 0x88], ax
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
lea eax, [esp + 0x1c]
push eax
call edx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0xc8dd22
mov esi, dword [eax]
mov edi, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x180]
add esi, 0x14
call fcn.00cba160
mov ecx, eax
call fcn.00cea7c0
mov edx, dword [esi]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call edx
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0xc8dd15
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0xc8dd15
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xe0]
call fcn.00cba370
mov ecx, dword [ebp + 0x10]
push eax
call fcn.00cba420
lea ecx, [esp + 0xdc]
call fcn.00cba440
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00cea7c0
cmp word [eax], 0xc
jne 0xc8dcab
push 0x100b0384
lea ecx, [esp + 0x190]
call fcn.00cba160
jmp 0xc8dce8
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0xc8dcc8
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00cea7c0
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x1a4]
push eax
push esi
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00cba3c0
lea ecx, [esp + 0x20]
call fcn.00cb0940
lea ecx, [esp + 0x1c]
call fcn.00cb0940
jmp 0xc8eaec
lea ecx, [esp + 0x20]
call fcn.00cb0940
mov eax, dword [esp + 0x1c]
cmp dword [0x100ccb3c], 0
je 0xc8df28
push 4
lea ecx, [esp + 0x14]
call fcn.00cba530
mov ecx, dword [0x100ccb70]
movzx eax, ax
movzx eax, ax
movzx edi, word [ecx + eax*2]
sub edi, 0x41
cmp edi, 0x20
jae 0xc8df24
mov esi, dword [0x100cca70]
push 0
push 0x24
lea edx, [esp + 0x1d4]
push edx
push 0x17
add esi, 0xce4
call dword [0x100b0218]
push eax
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
call eax
test eax, eax
jne 0xc8df24
mov al, byte [esp + edi + 0x1d0]
test al, al
je 0xc8dda1
cmp al, 1
je 0xc8dda1
cmp al, 4
jne 0xc8df24
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0xb0]
lea esi, [ebx + 0x78]
push ecx
mov ecx, esi
mov dword [esp + 0xb4], edi
call fcn.00c8aa30
test eax, eax
je 0xc8dde9
mov ecx, dword [ebp + 0x10]
call fcn.00cba540
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x10]
push edx
call fcn.00cba420
lea ecx, [esp + 0x1c]
call fcn.00cb0940
jmp 0xc8eaec
xor eax, eax
mov dword [esp + 0x6c], 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0xa8], edi
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x64]
call fcn.00c60530
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
mov ecx, esi
call fcn.00c8a940
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x6c]
push eax
push ebx
lea ecx, [esp + 0x90]
push ecx
call dword [0x100ccb3c]
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
mov edi, eax
call fcn.00c8ac20
cmp edi, 0xea
je 0xc8de06
test edi, edi
jne 0xc8df1b
push 0x100bc65c
lea ecx, [esp + 0xd4]
call fcn.00c61140
add ebx, 2
push ebx
lea ecx, [esp + 0xd4]
call fcn.00c603b0
mov eax, dword [esp + 0xd0]
push eax
lea ecx, [esp + 0x108]
call fcn.00cba160
mov ecx, eax
call fcn.00cea7c0
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push esi
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
call fcn.00c8db20
mov ecx, esi
call fcn.00cea7c0
cmp word [eax], di
jbe 0xc8dee1
mov ecx, esi
call fcn.00cba230
sub ax, 1
mov ecx, esi
push eax
call fcn.00cba530
cmp ax, 0x5c
je 0xc8dee1
push 0x100b11d8
mov ecx, esi
call fcn.00cba4e0
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov ecx, dword [eax + 4]
add ecx, 0xe
push ecx
mov ecx, esi
call fcn.00cba4e0
lea ecx, [esp + 0xd0]
call fcn.00c60810
lea ecx, [esp + 0x60]
call fcn.00c60570
lea ecx, [esp + 0x1c]
call fcn.00cb0940
jmp 0xc8eaec
lea ecx, [esp + 0x60]
call fcn.00c60570
mov eax, dword [esp + 0x1c]
test eax, eax
je 0xc8df34
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x2c]
add ebx, 0x54
push 0xffffffffffffffff
lea ecx, [esp + 0x4f]
mov esi, ebx
push ecx
mov ecx, esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x78], esi
call fcn.00c64650
test al, al
je 0xc8df60
add dword [esi + 0x10], 1
mov al, 1
mov ecx, ebx
mov byte [esp + 0x74], al
call fcn.00c69280
test eax, eax
mov dword [esp + 0x5c], eax
je 0xc8e020
lea edx, [esp + 0x5c]
push edx
mov ecx, ebx
call fcn.00c8b090
push eax
lea ecx, [esp + 0x38]
call fcn.00cba3a0
push 1
lea ecx, [esp + 0x14]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x3c]
call fcn.00cea7c0
push eax
call dword [0x100ccd8c]
test eax, eax
je 0xc8e158
lea ecx, [esp + 0x34]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x50]
call fcn.00cba3a0
push 0x100b11d8
lea ecx, [esp + 0x50]
call fcn.00cba4e0
push 1
lea ecx, [esp + 0x50]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x18]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x170]
call fcn.00cba1a0
mov ecx, eax
call fcn.00cba1c0
test eax, eax
jne 0xc8e184
lea ecx, [esp + 0x4c]
call fcn.00cba440
lea ecx, [esp + 0x34]
call fcn.00cba440
cmp dword [esp + 0x5c], 0
jne 0xc8df77
lea ecx, [esp + 0x70]
call fcn.00c66590
push 0x100bc648
lea ecx, [esp + 0xcc]
call fcn.00cba160
push 1
lea ecx, [esp + 0xcc]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x18]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x1a0]
call fcn.00cba1a0
mov ecx, eax
call fcn.00cba1c0
test eax, eax
je 0xc8e0c1
lea ecx, [esp + 0xc8]
call fcn.00cba230
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00cea7c0
mov esi, dword [eax + 4]
lea ecx, [esp + 0x10]
add esi, edi
call fcn.00cba230
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.00cea7c0
mov eax, dword [eax + 4]
add eax, edi
cmp esi, eax
je 0xc8e0c1
lea esp, [esp]
cmp word [esi], 0x5c
je 0xc8e1fd
add esi, 2
cmp esi, eax
jne 0xc8e0b0
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov edi, dword [eax + 4]
xor esi, esi
nop
cmp word [edi], 0x5c
je 0xc8e0eb
lea ecx, [esp + 0x10]
call fcn.00cea7c0
movzx edx, word [eax]
movzx ecx, si
add ecx, ecx
cmp ecx, edx
jne 0xc8e134
lea ecx, [esp + 0x78]
call fcn.00cba320
lea eax, [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.00cea7c0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x180]
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
push eax
call fcn.00ca7a30
add esp, 8
test eax, eax
lea ecx, [esp + 0x78]
je 0xc8e2a4
call fcn.00cba440
lea ecx, [esp + 0x10]
call fcn.00cea7c0
movzx eax, word [eax]
movzx edx, si
add edx, edx
cmp edx, eax
je 0xc8e310
add esi, 1
add edi, 2
jmp 0xc8e0d0
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.00cba420
mov ecx, dword [ebp + 0x14]
call fcn.00cba540
lea ecx, [esp + 0x34]
call fcn.00cba440
lea ecx, [esp + 0x70]
call fcn.00c66590
jmp 0xc8eaec
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00cba420
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x4c]
movzx esi, dx
call fcn.00cba230
movzx edi, ax
lea ecx, [esp + 0x4c]
add edi, edi
call fcn.00cba230
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00cea7c0
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x11c]
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00cba3c0
lea ecx, [esp + 0x4c]
call fcn.00cba440
jmp 0xc8e16d
add esi, 2
cmp esi, eax
je 0xc8e0c1
jmp 0xc8e210
movzx ecx, word [esi]
cmp cx, 0x5c
je 0xc8e0c1
cmp cx, 0x3a
je 0xc8e22f
add esi, 2
cmp esi, eax
jne 0xc8e210
jmp 0xc8e0c1
cmp esi, eax
je 0xc8e0c1
cmp word [esi], 0x5c
je 0xc8e249
add esi, 2
cmp esi, eax
jne 0xc8e237
jmp 0xc8e0c1
push 0x100bc65c
lea ecx, [esp + 0xb4]
call fcn.00cba370
push esi
lea ecx, [esp + 0xb4]
call fcn.00cba4e0
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0xb4]
call fcn.00cba450
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.00c8db20
lea ecx, [esp + 0xb0]
call fcn.00cba440
jmp 0xc8eaec
push ecx
lea ecx, [esp + 0xa4]
call fcn.00cba3a0
lea ecx, [esp + 0x10]
call fcn.00cea7c0
movzx edx, word [eax]
shr dx, 1
sub dx, si
lea ecx, [esp + 0x134]
push edx
push edi
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
push eax
lea ecx, [esp + 0xa4]
call fcn.00cba470
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x14]
call fcn.00cba420
lea ecx, [esp + 0xa0]
call fcn.00cba440
lea ecx, [esp + 0x78]
call fcn.00cba440
jmp 0xc8e0c1
mov ecx, ebx
call fcn.00c732b0
call dword [0x100b0058]
mov ecx, dword [ebx + 8]
mov esi, eax
cmp esi, ecx
lea eax, [ebx + 8]
je 0xc8e350
mov edx, dword [eax]
test edx, edx
jne 0xc8e6a9
push edx
push esi
push eax
call dword [0x100b0228]
test eax, eax
sete al
test al, al
je 0xc8e6a9
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x1b], 1
mov ecx, ebx
call fcn.00c732b0
call dword [0x100b0058]
mov esi, eax
mov eax, dword [ebx + 8]
cmp esi, eax
lea edi, [ebx + 8]
je 0xc8e399
mov ecx, dword [edi]
test ecx, ecx
jne 0xc8e6c4
push ecx
push esi
push edi
call dword [0x100b0228]
test eax, eax
sete al
test al, al
je 0xc8e6c4
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x27], 1
mov ecx, ebx
call fcn.00c732b0
call dword [0x100b0058]
mov edx, dword [edi]
mov esi, eax
cmp esi, edx
je 0xc8e3de
mov eax, dword [edi]
test eax, eax
jne 0xc8e6df
push eax
push esi
push edi
call dword [0x100b0228]
test eax, eax
sete al
test al, al
je 0xc8e6df
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov al, 1
test al, al
mov ecx, dword [ebx + 0x18]
mov esi, dword [0x100b00b8]
mov dword [esp + 0x9c], ecx
je 0xc8e429
add dword [ebx + 0x10], 0xffffffff
jne 0xc8e429
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100b00bc]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0xc8e429
push eax
call dword [0x100b0070]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call esi
cmp byte [esp + 0x27], 0
je 0xc8e461
add dword [ebx + 0x10], 0xffffffff
jne 0xc8e461
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100b00bc]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xc8e461
push eax
call dword [0x100b0070]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
mov eax, dword [esp + 0x9c]
test eax, eax
mov dword [esp + 0x68], eax
je 0xc8e533
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.00c8b090
push eax
lea ecx, [esp + 0x40]
call fcn.00cba3a0
push 1
lea ecx, [esp + 0x14]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x44]
call fcn.00cea7c0
push eax
call dword [0x100ccd8c]
test eax, eax
lea ecx, [esp + 0x3c]
je 0xc8e6f6
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x58]
call fcn.00cba3a0
push 0x100b11d8
lea ecx, [esp + 0x58]
call fcn.00cba4e0
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00cba450
push 1
lea ecx, [esp + 0x58]
mov esi, eax
call fcn.00cea7c0
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x154]
call fcn.00cba180
mov ecx, eax
call fcn.00cba1c0
test eax, eax
jne 0xc8e760
lea ecx, [esp + 0x54]
call fcn.00cba440
lea ecx, [esp + 0x3c]
call fcn.00cba440
cmp dword [esp + 0x68], 0
jne 0xc8e474
mov esi, dword [0x100b00b8]
cmp byte [esp + 0x1b], 0
je 0xc8e56e
add dword [ebx + 0x10], 0xffffffff
jne 0xc8e56e
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100b00bc]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xc8e56e
push eax
call dword [0x100b0070]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
push 0
push pe_nt_image_headers32
lea ecx, [esp + 0x18]
call fcn.00cea7c0
push eax
push 0
lea ecx, [esp + 0x1bc]
call fcn.00cba110
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov ax, word [eax]
shr ax, 1
movzx edi, ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], edi
movzx ebx, di
call fcn.00cea7c0
mov edx, dword [eax + 4]
movzx ecx, di
lea esi, [edx + ecx*2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], 0
cmp word [esi], 0x5c
je 0xc8e5d0
cmp bx, di
jne 0xc8e8a8
lea ecx, [esp + 0x10]
call fcn.00cea7c0
lea ecx, [ebx + ebx]
mov word [eax], cx
mov esi, dword [0x100cca70]
push 0x21
push 3
lea ecx, [esp + 0xf4]
mov dword [esp + 0x4c], 0
add esi, 0x15c
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x1b8]
call fcn.00cea7c0
push eax
mov eax, dword [esi]
push 0x100000
lea edx, [esp + 0x58]
push edx
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
call eax
test eax, eax
jne 0xc8e897
mov edi, 0x400
lea ebx, [ebx]
xor esi, esi
test edi, edi
jbe 0xc8e651
push edi
call fcn.00c7b050
add esp, 4
mov esi, eax
mov ecx, dword [0x100cca70]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0xe8]
push eax
mov eax, dword [ecx + 0xb34]
push edi
push esi
add ecx, 0xb34
push 1
push edx
mov edx, dword [eax + 0x24]
call edx
call eax
cmp eax, 0xc0000004
je 0xc8e694
cmp eax, 0x80000005
je 0xc8e694
cmp eax, 0xc0000023
jne 0xc8e82d
add edi, 0x100
test esi, esi
je 0xc8e640
push esi
call fcn.00c7b000
add esp, 4
jmp 0xc8e640
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00c614f0
test al, al
jne 0xc8e350
mov byte [esp + 0x1b], al
jmp 0xc8e359
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00c614f0
test al, al
jne 0xc8e399
mov byte [esp + 0x27], al
jmp 0xc8e3a2
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00c614f0
test al, al
jne 0xc8e3de
jmp 0xc8e3e4
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00cba420
mov ecx, dword [ebp + 0x14]
call fcn.00cba540
lea ecx, [esp + 0x3c]
call fcn.00cba440
cmp byte [esp + 0x1b], 0
je 0xc8eaec
add dword [ebx + 0x10], 0xffffffff
jne 0xc8eaec
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100b00bc]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0xc8eaec
push eax
call dword [0x100b0070]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call dword [0x100b00b8]
jmp 0xc8eaec
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00cba420
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x54]
movzx esi, dx
call fcn.00cba230
movzx edi, ax
lea ecx, [esp + 0x54]
add edi, edi
call fcn.00cba230
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.00cea7c0
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x18c]
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00cba3c0
lea ecx, [esp + 0x54]
call fcn.00cba440
lea ecx, [esp + 0x3c]
call fcn.00cba440
cmp byte [esp + 0x1b], 0
je 0xc8eaec
add dword [ebx + 0x10], 0xffffffff
jne 0xc8eaec
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100b00bc]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0xc8eaec
push eax
call dword [0x100b0070]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call dword [0x100b00b8]
jmp 0xc8eaec
test eax, eax
jne 0xc8e88a
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00cba3c0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub edx, ebx
push edx
push eax
lea ecx, [esp + 0xfc]
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x14]
call fcn.00cba470
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov cx, word [eax]
shr cx, 1
movzx edx, cx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], 1
jmp 0xc8e88e
test esi, esi
je 0xc8e897
push esi
call fcn.00c7b000
add esp, 4
lea ecx, [esp + 0x44]
call fcn.00c82970
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.00cea7c0
cmp dword [eax + 4], esi
je 0xc8e8d0
sub esi, 2
add ebx, 0xffff
cmp dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
je 0xc8e5c1
jmp 0xc8e8e6
cmp dword [esp + 0x30], 0
jne 0xc8e8e6
lea ecx, [esp + 0x10]
call fcn.00cea7c0
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], edx
xor edi, edi
call fcn.00cea7c0
mov ax, word [eax]
shr ax, 1
movzx ecx, ax
mov dword [esp + 0x20], ecx
mov edi, edi
mov edx, dword [esp + 0x1c]
cmp word [edx], 0x5c
je 0xc8e925
cmp di, word [esp + 0x20]
jne 0xc8ea2b
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov edx, dword [esp + 0x1c]
lea ecx, [edi + edi]
mov word [eax], cx
xor ebx, ebx
cmp word [edx], 0x5c
jne 0xc8e952
lea ecx, [esp + 0x10]
call fcn.00cea7c0
add word [eax], 2
mov ebx, 1
mov esi, dword [0x100cca70]
push 0x21
push 3
lea ecx, [esp + 0x104]
mov dword [esp + 0x34], 0
add esi, 0x15c
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x1b8]
call fcn.00cea7c0
mov edx, dword [esi]
push eax
push 0x100001
lea eax, [esp + 0x40]
push eax
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
call eax
test eax, eax
jne 0xc8ea17
push 0x400
call fcn.00c7b050
mov esi, dword [0x100cca70]
add esp, 4
push 1
push 0
push 0
push 3
push 0x400
push eax
lea ecx, [esp + 0x124]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x400
add esi, 0x54c
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [esp + 0x44]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x24]
push 0
push 0
push 0
push ecx
mov ecx, esi
call eax
call eax
test eax, eax
je 0xc8ea38
lea ecx, [esp + 0x94]
call fcn.00c60570
lea ecx, [esp + 0x2c]
call fcn.00c82970
cmp di, word [esp + 0x20]
je 0xc8eb07
add edi, 1
add dword [esp + 0x1c], 2
jmp 0xc8e910
mov esi, dword [ebp + 0x10]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00cba420
test ebx, ebx
je 0xc8ea57
mov ecx, esi
call fcn.00cea7c0
add word [eax], 0xfffe
mov eax, dword [esp + 0x20]
cmp ax, di
jne 0xc8ea81
push 0x100b0384
lea ecx, [esp + 0x120]
call fcn.00cba160
mov ecx, eax
call fcn.00cea7c0
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
jmp 0xc8eab5
sub eax, edi
sub eax, 1
push eax
lea ecx, [esp + 0x14]
call fcn.00cea7c0
mov edx, dword [eax + 4]
movzx ecx, di
lea eax, [edx + ecx*2 + 2]
push eax
lea ecx, [esp + 0x134]
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [ebp + 0x14]
call fcn.00cba3c0
lea ecx, [esp + 0x94]
call fcn.00c60570
lea ecx, [esp + 0x2c]
call fcn.00c82970
mov edx, dword [ebp + 0x10]
sub esp, 8
mov ecx, esp
push edx
call fcn.00cba3a0
mov ecx, dword [esp + 0x98]
call fcn.00c8db00
lea ecx, [esp + 0x10]
call fcn.00cba440
lea ecx, [esp + 0x28]
call fcn.00d02170
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
push 1
push 0x100b1210
lea ecx, [esp + 0x18]
mov word [eax], dx
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x148]
call fcn.00cba1a0
mov ecx, eax
call fcn.00cba290
test eax, eax
je 0xc8ec6d
mov eax, dword [0x100bc66c]
mov ecx, dword [0x100bc670]
mov edx, dword [0x100bc674]
mov dword [esp + 0xb8], eax
mov ax, word [0x100bc678]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], ax
call fcn.00cea7c0
mov cx, word [eax]
and cx, 0xfffe
cmp cx, 0xc
jb 0xc8ec6d
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov edx, dword [eax + 4]
cmp word [edx + 0xa], 0x3a
jne 0xc8ec6d
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov eax, dword [eax + 4]
mov cx, word [eax + 8]
lea edx, [esp + 0xb8]
mov word [esp + 0xc0], cx
push edx
lea ecx, [esp + 0x150]
call fcn.00cba160
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
call fcn.00cba3c0
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.00cea7c0
cmp word [eax], 0xc
jne 0xc8ec15
push 0x100b0384
lea ecx, [esp + 0x160]
call fcn.00cba160
jmp 0xc8ec52
lea ecx, [esp + 0x10]
call fcn.00cea7c0
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0xc8ec32
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.00cea7c0
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x16c]
push eax
push esi
call fcn.00cba140
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00cba3c0
jmp 0xc8ead2
mov ecx, dword [ebp + 0x10]
call fcn.00cba540
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.00cba420
jmp 0xc8eaec