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

Disassembly:
push ebp
xor eax, eax
push edi
mov ecx, 0xa
push esi
push ebx
sub esp, 0x21c
mov ebp, dword [esp + 0x234]
lea edi, [esp + 0x104]
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0x23c]
rep stosd dword es:[edi], eax
mov dword [esp + 0x200], 0x7fffffff
lea ebx, [ebp + 0x744]
mov dword [esp + 0x84], ebx
lea ebx, [ebp + 0x179c]
mov dword [esp + 0x88], ebx
lea ebx, [ebp + 0xca0]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 1
mov dword [esp + 0x134], 2
mov ebx, dword [ebx + 0x2b4ec]
mov dword [esp + 0x138], 3
mov dword [esp + 0x13c], 4
mov dword [esp + 0x140], 5
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x144], 6
mov dword [esp + 0x148], 7
mov dword [esp + 0x208], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov ecx, dword [ebx + 0x2b4cc]
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov esi, ecx
and esi, 1
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x1d0], 0
je 0xc3d8a1
mov dword [esp + 0x1d4], 1
mov ebx, 3
mov al, 2
mov dword [esp + 0x4c], 4
mov edi, ecx
and edi, 2
je 0xc3cae5
mov dword [esp + eax*4 + 0x1d0], 2
mov eax, ebx
mov ebx, dword [esp + 0x4c]
and ecx, 4
je 0xc3cb00
cmp ebx, 4
mov dword [esp + eax*4 + 0x1d0], 3
je 0xc3cb13
mov eax, ebx
lea esi, [esi]
mov dword [esp + eax*4 + 0x1d0], 0xffffffff
add eax, 1
cmp eax, 4
jne 0xc3cb00
test esi, esi
je 0xc3cb55
mov ebx, dword [esp + 0x230]
imul eax, dword [ebx + 0x1cd80], 0x3c
lea eax, [ebx + eax + 0x1cc7c]
mov ebx, dword [esp + 0x238]
add ebx, dword [eax + 0x18]
mov dword [esp + 0x1a4], ebx
mov ebx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add ebx, edx
add eax, edx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1c4], eax
test edi, edi
je 0xc3cb97
mov ebx, dword [esp + 0x230]
imul eax, dword [ebx + 0x1cd84], 0x3c
lea eax, [ebx + eax + 0x1cc7c]
mov ebx, dword [esp + 0x238]
add ebx, dword [eax + 0x18]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add ebx, edx
add eax, edx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c8], eax
test ecx, ecx
je 0xc3cbd7
mov ebx, dword [esp + 0x230]
mov ecx, dword [esp + 0x238]
imul eax, dword [ebx + 0x1cd88], 0x3c
lea eax, [ebx + eax + 0x1cc7c]
add ecx, dword [eax + 0x18]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [eax + 0x1c]
add ecx, edx
add edx, dword [eax + 0x20]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1cc], edx
mov ebx, dword [esp + 0x230]
mov edi, dword [esp + 0x230]
mov eax, dword [ebp + 0x1d2c]
mov esi, dword [esp + 0x230]
add dword [ebx + 0x1fa00], 1
mov ebx, dword [esp + 0x248]
add edi, 0x2c9b4
mov dword [esp + 0xa0], 0
add esi, 0x1fa04
mov dword [esp + 0x8c], 0x7fffffff
mov dword [ebx], 0x7fffffff
xor ebx, ebx
mov dword [ebp + 0x8178], 0
mov dword [esp + 0x7c], 0
mov dword [eax + 8], 0
mov dword [esp + 0x9c], 0x7fffffff
mov dword [esp + 0x4c], 0x7fffffff
mov dword [esp + 0xb8], edi
jmp 0xc3ccbf
mov edi, dword [esi - 0xf4]
cmp edi, 1
jbe 0xc3cd00
imul edi, ecx
mov ecx, dword [esp + 0x230]
cmp dword [ecx + 0x1fa00], edi
ja 0xc3cd00
mov edx, dword [esi]
add edx, 4
cmp edx, 0x200
mov dword [esi], edx
jle 0xc3cc9b
mov dword [esi], 0x200
mov edx, 0x200
mov eax, dword [esi + 0x50]
sar eax, 7
imul eax, edx
mov dword [esi + 0xa0], eax
lea esi, [esi]
add ebx, 1
add esi, 4
cmp ebx, 0x14
je 0xc3d013
mov eax, dword [ebx*4 + 0x1150d40]
mov edi, dword [esp + 0x4c]
cmp dword [esi + 0xa0], edi
mov eax, dword [esp + eax*4 + 0x1d0]
jge 0xc3ccb0
test eax, eax
js 0xc3ccb0
mov edx, dword [ebp + 0x1d2c]
mov dword [esp + 0x74], eax
mov dword [edx + 8], eax
mov ecx, dword [esi - 0xa4]
mov dword [esp + 0x50], edx
test ecx, ecx
mov dword [esp + 0x48], ecx
jne 0xc3cc60
test eax, eax
je 0xc3d100
mov ecx, dword [esp + eax*4 + 0x1e0]
test ecx, ecx
je 0xc3d727
mov edi, dword [esp + 0x48]
mov dword [esp + 0x1fc], 0
add edi, 1
mov dword [esi - 0xa4], edi
mov eax, dword [ebp + eax*4 + 0x1d7c]
mov edi, dword [ebx*4 + 0x1150da0]
mov dword [edx + 4], 0
mov dword [esp + 0x48], eax
lea eax, [esp + 0xc4]
mov dword [edx], edi
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x74]
mov eax, dword [esp + edx*4 + 0x1a0]
mov ecx, edx
shl ecx, 4
add ecx, dword [esp + 0x60]
mov dword [ebp + 0x1ccc], eax
mov eax, dword [esp + edx*4 + 0x1b0]
mov dword [ebp + 0x1cd0], eax
mov eax, dword [esp + edx*4 + 0x1c0]
mov dword [ebp + 0x1cd4], eax
mov eax, dword [esp + edx*4 + 0x170]
mov dword [esp + 0x118], eax
mov eax, dword [esp + edx*4 + 0x180]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + edx*4 + 0x190]
mov dword [esp + 0x1f0], eax
mov eax, dword [ecx]
mov dword [esp + 0x160], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x164], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x168], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + 0x1f8a8]
test eax, eax
je 0xc3cfc3
mov eax, dword [ecx + 0x1f76c]
test eax, eax
jne 0xc3cfc3
cmp edi, 7
jne 0xc3ccb0
mov eax, dword [esp + 0x50]
cmp dword [eax + 8], 3
jne 0xc3ccb0
mov edx, dword [esp + 0x48]
movzx eax, word [esp + edi*4 + 0x104]
sar ax, 3
cwde
cmp eax, dword [ebp + 0x816c]
jl 0xc3ccb0
cmp eax, dword [ebp + 0x8170]
jg 0xc3ccb0
movzx eax, word [esp + edi*4 + 0x106]
sar ax, 3
cwde
cmp eax, dword [ebp + 0x8164]
jl 0xc3ccb0
cmp eax, dword [ebp + 0x8168]
jg 0xc3ccb0
lea ecx, [esp + 0x160]
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], edx
mov dword [esp], edi
call fcn.00c610e0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + edi*4 + 0x104]
add edx, eax
mov eax, dword [ebp + 0x1d2c]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x2c590]
test eax, eax
jne 0xc3da9a
cmp edi, 8
jne 0xc3dade
mov eax, dword [esp + 0xb4]
test eax, eax
je 0xc3dade
mov ecx, dword [esp + 0x230]
cmp dword [ecx + 0x1ce30], 1
je 0xc3dade
mov ecx, dword [esp + 0x1fc]
mov eax, dword [ebp + 0x20c8]
imul ecx, dword [ebp + 0x20c4]
imul eax, edx
sub eax, 0xffffff80
sar eax, 8
lea edi, [eax + ecx]
mov eax, dword [esp + 0x200]
cmp dword [ebp + 0x817c], eax
jbe 0xc3cf30
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.00c60f40
mov edx, dword [esp + 0x3c]
add eax, eax
cmp eax, dword [ebp + 0x817c]
setl al
movzx eax, al
mov dword [ebp + 0x8178], eax
nop
cmp edi, dword [esp + 0x4c]
jge 0xc3dad3
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x200]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x4c], edi
mov dword [eax], edx
mov eax, dword [esp + 0x1fc]
mov edx, dword [esp + 0x244]
mov dword [esp + 0x8c], ecx
mov dword [edx], eax
mov eax, dword [ebp + 0x1d2c]
mov edx, dword [eax]
mov dword [esp + 0x14c], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x150], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x154], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x158], edx
mov edx, dword [esi]
mov eax, dword [eax + 0x10]
cmp edx, 0x22
lea ecx, [edx - 2]
mov edx, dword [esi + 0x50]
mov dword [esp + 0x15c], eax
mov eax, 0x20
cmovge eax, ecx
mov dword [esi], eax
sar edx, 7
imul eax, edx
mov dword [esi + 0xa0], eax
jmp 0xc3d005
cmp edi, 8
jbe switch.0x00c3d137
mov eax, dword [ebp + 0x8178]
mov edx, dword [esp + 0x48]
mov edi, 0x7fffffff
test eax, eax
jne 0xc3cf3a
mov edx, dword [esi]
add edx, 4
cmp edx, 0x200
mov dword [esi], edx
jg 0xc3d972
mov eax, dword [esi + 0x50]
sar eax, 7
imul eax, edx
mov dword [esi + 0xa0], eax
mov edi, dword [ebp + 0x8178]
test edi, edi
je 0xc3ccb0
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x230]
mov edx, dword [edi + ebx*4 + 0x1fa54]
lea eax, [edx - 1]
cmp eax, 0x1ffffffd
ja 0xc3d06b
add ebx, 0x7e80
mov ecx, dword [edi + ebx*4 + 4]
mov eax, ecx
mov edi, ecx
sar eax, 3
lea esi, [eax + 0x1f]
sub edi, eax
cmp ecx, esi
mov ecx, dword [esp + 0x230]
mov eax, 0x20
cmovg eax, edi
sar edx, 7
mov dword [ecx + ebx*4 + 4], eax
imul eax, edx
mov ebx, dword [esp + 0x7c]
mov dword [ecx + ebx*4 + 0x1faa4], eax
mov ebx, dword [esp + 0x244]
mov eax, 0x3ff
mov edx, dword [ebx]
mov ebx, dword [esp + 0x230]
sar edx, 7
mov ecx, dword [ebx + 0x1f8a8]
cmp edx, 0x3ff
cmovle eax, edx
add dword [ebx + eax*4 + 0x2b55c], 1
test ecx, ecx
je 0xc3d800
cmp dword [esp + 0x14c], 7
je 0xc3d7f0
mov eax, dword [ebp + 0x1d2c]
mov ebx, dword [esp + 0x230]
mov dword [eax + 0xc], 0
mov edx, dword [ebx + 0x1ce24]
mov dword [eax], 7
mov dword [eax + 8], 3
mov eax, dword [ebp + 0x1d2c]
test edx, edx
mov dword [eax + 4], 0
setne byte [eax + 0x11]
mov eax, dword [ebp + 0x1d2c]
mov byte [eax + 0x10], 0
add esp, 0x21c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x48]
mov edi, dword [ebx*4 + 0x1150da0]
mov dword [esp + 0x1fc], 0
add eax, 1
mov dword [esi - 0xa4], eax
mov dword [edx], edi
mov dword [edx + 4], 0
mov edx, dword [ebp + 0x1d7c]
mov dword [esp + 0x48], edx
jmp 0xc3cdda
jmp dword [edi*4 + 0x114dda0]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + edi*4 + 0x104]
test eax, eax
je 0xc3ccb0
jmp 0xc3ce18
mov eax, dword [esp + 0x230]
lea edx, [esp + 0x1fc]
mov edi, dword [esp + 0x8c]
lea ecx, [esp + 0x1f8]
mov dword [esp], edx
mov edx, ebp
add eax, 0x2c9b0
mov dword [esp + 0x1fc], edi
call fcn.00c3c320
cmp dword [esp + 0x1fc], 0x7fffffff
je case.default.0xc3d137
lea eax, [esp + 0x200]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0xfc0]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x770]
add edx, dword [esp + 0x1f8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x768]
mov eax, dword [eax]
mov dword [esp + 0x3c], edx
mov dword [esp], eax
call dword [ecx + 0x2c9d8]
mov edx, dword [esp + 0x3c]
mov edi, dword [ebp + 0x20c8]
imul edi, edx
mov dword [esp + 0x1fc], eax
lea ecx, [edi + 0x80]
mov edi, dword [ebp + 0x20c4]
sar ecx, 8
imul edi, eax
add edi, ecx
cmp edi, dword [esp + 0x9c]
jge 0xc3cf30
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x9c], edi
mov dword [ecx], eax
jmp 0xc3cf30
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x230]
mov dword [esp], edi
call dword [eax + 0x1e898]
lea eax, [esp + 0x200]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0xfc0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x770]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x768]
mov eax, dword [eax]
mov dword [esp], eax
call dword [edx + 0x2c9d8]
mov edx, dword [ebp + 0x1d2c]
mov edi, dword [edx]
mov edx, dword [esp + 0x48]
mov ecx, eax
mov dword [esp + 0x1fc], eax
mov eax, dword [ebp + 0x1d34]
lea eax, [eax + eax*4]
lea eax, [edi + eax*2]
mov edi, dword [ebp + 0x20c4]
add edx, dword [ebp + eax*4 + 0x70ec]
mov eax, dword [ebp + 0x20c8]
imul edi, ecx
imul eax, edx
sub eax, 0xffffff80
sar eax, 8
add edi, eax
cmp edi, dword [esp + 0x9c]
jge 0xc3cf30
mov eax, dword [esp + 0x248]
mov dword [esp + 0x9c], edi
mov dword [eax], ecx
jmp 0xc3cf30
movzx eax, word [esp + 0x1f2]
mov edx, dword [ebp + 0x20bc]
mov ecx, eax
sar cx, 3
test al, 7
setne al
mov word [esp + 0x70], cx
movzx eax, al
movsx ecx, cx
lea eax, [ecx + eax - 0xff]
mov dword [esp + 0x74], eax
movzx eax, word [esp + 0x1f0]
mov dword [esp + 0x94], edx
mov edx, eax
sar dx, 3
test al, 7
setne al
add ecx, 0xff
mov dword [esp + 0x98], ecx
mov ecx, dword [ebp + 0x8164]
movzx eax, al
mov word [esp + 0x78], dx
movsx edx, dx
lea eax, [edx + eax - 0xff]
add edx, 0xff
mov dword [esp + 0xbc], edx
mov edx, dword [ebp + 0x8168]
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebp + 0x816c]
mov dword [esp + 0x80], eax
mov eax, 1
mov dword [esp + 0xa8], edx
mov edx, dword [ebp + 0x8170]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x230]
mov dword [esp + 0xb0], edx
mov edx, dword [ecx + 0x2b44c]
cmp edx, 5
jle 0xc3d3c2
xor eax, eax
cmp edx, 8
setge al
add eax, 2
mov edx, dword [esp + 0x230]
mov ecx, dword [edx + 0x2b548]
mov edx, dword [edx + 0x2b558]
add ecx, eax
test edx, edx
mov dword [esp + 0x60], ecx
jne 0xc3d8b8
mov eax, dword [esp + 0x1f0]
movzx edx, word [esp + 0x78]
mov dword [esp + 0x204], eax
movzx eax, word [esp + 0x70]
mov word [esp + 0x20c], dx
mov word [esp + 0x20e], ax
mov ecx, dword [esp + 0x74]
cmp ecx, dword [ebp + 0x8164]
jle 0xc3d41d
mov dword [ebp + 0x8164], ecx
mov eax, dword [esp + 0x98]
cmp eax, dword [ebp + 0x8168]
jge 0xc3d432
mov dword [ebp + 0x8168], eax
mov edx, dword [esp + 0x80]
cmp edx, dword [ebp + 0x816c]
jle 0xc3d447
mov dword [ebp + 0x816c], edx
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [ebp + 0x8170]
jge 0xc3d45c
mov dword [ebp + 0x8170], ecx
mov eax, dword [esp + 0x230]
xor ecx, ecx
cmp dword [eax + 0x2b44c], 7
jg 0xc3d47a
mov ecx, dword [esp + 0x60]
not ecx
add ecx, dword [eax + 0x2b544]
mov edx, dword [esp + 0x230]
cmp dword [edx + 0x2b4d4], 2
je 0xc3d9b2
mov eax, edx
lea edx, [ebp + 0x60dc]
add eax, 0x2c6b8
mov dword [esp + 0x80], edx
lea edx, [ebp + 0x17cc]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x1f0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x40], ecx
mov dword [esp], ebp
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x230]
call dword [edx + 0x2c614]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1f4], 0
cmp ecx, edx
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x17cc]
mov dword [esp + 0x124], eax
jle 0xc3d637
mov dword [esp + 0x98], esi
xor eax, eax
mov esi, edx
mov dword [esp + 0xbc], edi
mov edi, ebx
mov ebx, ecx
jmp 0xc3d589
sub eax, 1
mov dword [esp + 0x1f4], eax
cmp esi, ebx
je 0xc3d627
mov eax, dword [esp + 0x1f4]
add esi, 1
test eax, eax
jne 0xc3d570
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x1f4]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [esp], ebp
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x94]
add eax, esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x230]
mov dword [esp + 4], ecx
call dword [edx + 0x2c614]
cmp dword [esp + 0x70], eax
jle 0xc3d982
mov edx, dword [ebp + 0x17cc]
cmp esi, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x124], edx
jne 0xc3d582
mov ebx, edi
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
cmp dword [esp + 0x70], 0x7fffffff
mov dword [ebp + 0x8164], ecx
mov ecx, dword [esp + 0xac]
mov dword [ebp + 0x8168], edx
mov edx, dword [esp + 0xb0]
mov dword [ebp + 0x816c], ecx
mov ecx, dword [esp + 0x230]
mov dword [ebp + 0x8170], edx
lea edx, [ecx + 0x168dc]
je 0xc3d6ec
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x200]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1fc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
mov eax, dword [ebp + 0x20b8]
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x230]
call dword [ecx + 0x2c608]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x17cc]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 0x124], eax
lea eax, [esp + 0x124]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00c32360
mov edx, dword [esp + 0x48]
add edx, eax
jmp 0xc3d144
mov eax, dword [esp + 0x230]
mov edi, dword [edx + 8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x90]
add eax, 0x1dba4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x60], eax
mov eax, edi
shl eax, 4
add eax, dword [esp + 0x60]
lea ecx, [edi*4]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
lea eax, [esp + ecx + 0x190]
mov dword [esp + 0x10], eax
lea eax, [esp + ecx + 0x180]
mov dword [esp + 0xc], eax
lea eax, [esp + ecx + 0x170]
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.00c5b850
mov ecx, dword [ebp + 0x1d2c]
mov dword [esp + edi*4 + 0x1e0], 1
mov dword [esp + 0x1fc], 0
mov edi, dword [ecx + 8]
add dword [esi - 0xa4], 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x74]
mov edi, dword [ebx*4 + 0x1150da0]
mov dword [ecx + 4], 0
mov eax, dword [ebp + eax*4 + 0x1d7c]
mov dword [ecx], edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0xc3cdda
jmp 0xc3cd55
cmp dword [esp + 0x154], 3
jne 0xc3d0b0
nop
mov eax, dword [ebp + 0x8178]
test eax, eax
jne 0xc3d841
mov edx, dword [esp + 0x14c]
mov eax, dword [ebp + 0x1d2c]
mov dword [eax], edx
mov edx, dword [esp + 0x150]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x154]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x158]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x15c]
mov dword [eax + 0x10], edx
cmp dword [esp + 0x14c], 4
jbe 0xc3d994
mov eax, dword [ebp + 0x1d2c]
cmp dword [eax], 8
mov edx, dword [eax + 8]
jne 0xc3d0f4
lea ecx, [esp + edx*4 + 0x190]
movsx edx, word [eax + 0xc]
movsx ebx, word [ecx]
sub edx, ebx
mov ebx, dword [esp + 0x230]
sar edx, 1
add dword [ebx + edx*4 + 0x24d0c], 1
movsx eax, word [eax + 0xe]
movsx edx, word [ecx + 2]
sub eax, edx
sar eax, 1
add dword [ebx + eax*4 + 0x26d08], 1
add esp, 0x21c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x4c], 3
mov ebx, 2
mov eax, 1
jmp 0xc3cacd
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x12c]
test ecx, ecx
je 0xc3da43
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x208]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x230]
add edx, 0x1dba4
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x40], eax
mov dword [esp + 0x10], edx
lea edx, [esp + 0x204]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00c611a0
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x208]
cmp dword [esp + 0x60], eax
mov dword [esp + 0x208], eax
cmovge eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
movzx eax, word [esp + 0x206]
sar ax, 3
mov word [esp + 0x20e], ax
movzx eax, word [esp + 0x204]
sar ax, 3
mov word [esp + 0x20c], ax
jmp 0xc3d40b
mov dword [esi], 0x200
mov edx, 0x200
jmp 0xc3cff6
mov eax, dword [esp + 0x124]
mov dword [ebp + 0x17cc], eax
jmp 0xc3d57a
mov eax, ebp
call fcn.00c3b870
mov eax, dword [ebp + 0x1d2c]
cmp dword [eax], 8
mov edx, dword [eax + 8]
jne 0xc3d0f4
jmp 0xc3d861
lea ecx, [esp + 0x1f0]
add edx, 0x2c6b8
mov dword [esp + 0x50], ecx
lea eax, [ebp + 0x60dc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x24], eax
lea eax, [ebp + 0x70e4]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp], ebp
mov dword [esp + 0x18], edx
lea edx, [ebp + 0x17cc]
mov dword [esp + 0x78], edx
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.00c35fd0
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x17cc]
mov dword [esp + 0x124], eax
jmp 0xc3d637
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x10], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x230]
mov dword [esp], ecx
call fcn.00c616c0
mov ecx, dword [ebp + 0x1d2c]
mov dword [esp + 0xa0], 1
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], ecx
jmp 0xc3d8ce
mov eax, dword [ebp + 0x8184]
cmp byte [eax], 0
jne 0xc3cea4
mov dword [esp + 0x200], 0
mov eax, 1
mov dword [esp + 0x1fc], 0
mov dword [ebp + 0x8178], 1
jmp 0xc3cfd6
mov eax, dword [ebp + 0x8178]
jmp 0xc3cfdb
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x2c6bc]
mov dword [esp + 0x94], eax
lea eax, [esp + edi*4 + 0x104]
mov edi, dword [ebp + 0x770]
movzx ecx, word [eax]
movzx eax, word [eax + 2]
mov dword [esp + 0x70], edi
mov word [esp + 0x50], cx
mov word [esp + 0x60], ax
mov eax, dword [ebp + 0x768]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x17b0]
add ecx, dword [ebp + 0x76c]
mov edi, dword [eax]
mov eax, dword [ebp + 0x17b8]
add edi, dword [ebp + 0x17b4]
mov dword [esp + 0x48], eax
movzx eax, word [esp + 0x60]
and eax, 7
mov dword [esp + 0x74], eax
movzx eax, word [esp + 0x50]
and eax, 7
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x50]
sar ax, 3
cwde
imul eax, dword [esp + 0x48]
mov dword [esp + 0x50], eax
movzx eax, word [esp + 0x60]
sar ax, 3
cwde
add eax, dword [esp + 0x50]
add edi, eax
mov eax, dword [esp + 0x78]
or eax, dword [esp + 0x74]
lea eax, [esp + 0x200]
jne 0xc3dbbe
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
call dword [esp + 0x94]
mov edx, dword [esp + 0x3c]
mov ecx, eax
mov dword [esp + 0x1fc], ecx
jmp 0xc3ced7
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp], edi
mov edi, dword [esp + 0x230]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call dword [edi + 0x2c6c0]
mov edx, dword [esp + 0x3c]
mov ecx, eax
jmp 0xc3dbb2