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

Disassembly:
sub esp, 0x8c
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x54]
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebp
mov edi, edi
mov ebx, ebp
imul ebx, ebx, 0xd
add ebx, str.THEZOCQS
lea eax, [ebx + 0xc]
xor esi, esi
xor edi, edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
cmp ebx, eax
jae 0x1003c4d1
lea ebx, [ebx]
mov al, byte [ebx]
test al, al
je 0x1003c3ed
movsx edx, al
mov eax, dword [esp + 0xa4]
push edx
push eax
call fcn.10002180
add esp, 8
test eax, eax
je 0x1003c3de
mov ecx, dword [esp + 0xa4]
push 1
push eax
push ecx
call fcn.10004f20
add esp, 0xc
test eax, eax
jne 0x1003c3de
mov eax, dword [esp + 0x24]
cmp word [eax + 0x6e], 0
jle 0x1003c3de
mov edx, dword [eax + 0x70]
mov ecx, eax
movsx eax, word [ecx + 0x6c]
xor esi, esi
or edi, 0xffffffff
xor ebp, ebp
cmp eax, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
jle 0x1003c3c5
mov ebx, dword [ecx + 0x78]
mov dword [esp + 0x30], eax
jmp 0x1003c2c0
movsx edx, word [ebx]
cmp edx, esi
mov dword [esp + 0x38], edi
jle 0x1003c336
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1003c306
cmp eax, 2
je 0x1003c306
cmp eax, 3
je 0x1003c306
cmp esi, edx
mov eax, esi
jg 0x1003c336
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + esi*8 + 4]
jmp 0x1003c2f0
test edi, edi
jl 0x1003c2f8
cmp dword [ecx], ebp
jge 0x1003c2fc
mov ebp, dword [ecx]
mov edi, eax
inc eax
add ecx, 8
cmp eax, edx
jle 0x1003c2f0
jmp 0x1003c328
cmp esi, edx
mov eax, esi
jg 0x1003c336
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + esi*8 + 4]
test edi, edi
jl 0x1003c31c
cmp dword [ecx], ebp
jle 0x1003c320
mov ebp, dword [ecx]
mov edi, eax
inc eax
add ecx, 8
cmp eax, edx
jle 0x1003c314
cmp edi, dword [esp + 0x38]
je 0x1003c336
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
add ebx, 2
sub dword [esp + 0x30], 1
lea esi, [edx + 1]
jne 0x1003c2c0
test edi, edi
jl 0x1003c3c1
mov ecx, edi
mov edx, edi
nop
mov ebx, dword [esp + 0x2c]
cmp ecx, ebx
jle 0x1003c35b
dec ecx
jmp 0x1003c35f
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + ecx*8 + 4]
sub eax, ebp
add eax, 5
cmp eax, 0xa
ja 0x1003c375
cmp ecx, edi
jne 0x1003c350
cmp edx, dword [esp + 0x28]
jge 0x1003c37e
inc edx
jmp 0x1003c380
mov edx, ebx
mov eax, dword [esi + edx*8 + 4]
sub eax, ebp
add eax, 5
cmp eax, 0xa
ja 0x1003c392
cmp edx, edi
jne 0x1003c375
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x74]
mov cl, byte [eax + ecx]
and cl, 3
cmp cl, 1
jne 0x1003c3ae
mov dl, byte [eax + edx]
and dl, 3
cmp dl, cl
je 0x1003c3c1
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x6c], ebp
inc eax
mov dword [esp + 0x14], eax
jmp 0x1003c3d2
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], ebp
inc eax
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, dword [esp + 0x34]
jb 0x1003c240
test esi, esi
jne 0x1003c3f9
test edi, edi
je 0x1003c4d1
lea ecx, [esp + 0x6c]
mov ebx, edi
call fcn.1003b240
lea ecx, [esp + 0x3c]
mov ebx, esi
call fcn.1003b240
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + 0x28c]
lea ecx, [eax*8]
sub ecx, eax
inc eax
lea ecx, [edx + ecx*4 + 0x290]
mov dword [edx + 0x28c], eax
test esi, esi
jne 0x1003c449
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov eax, dword [esp + eax*4 + 0x6c]
mov dword [ecx + 0xc], eax
mov dword [ecx], eax
jmp 0x1003c473
mov eax, esi
cdq
sub eax, edx
sar eax, 1
test edi, edi
jne 0x1003c45f
mov eax, dword [esp + eax*4 + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [ecx], eax
jmp 0x1003c473
mov edx, dword [esp + eax*4 + 0x3c]
mov dword [ecx], edx
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov eax, dword [esp + eax*4 + 0x6c]
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx]
cmp eax, esi
je 0x1003c4a9
setg dl
test ebp, ebp
je 0x1003c491
cmp ebp, 2
je 0x1003c491
cmp ebp, 3
je 0x1003c491
xor edi, edi
jmp 0x1003c496
mov edi, 1
movzx edx, dl
xor edx, edi
je 0x1003c4a9
add eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [ecx], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x18], 0
test ebp, ebp
je 0x1003c4be
cmp ebp, 2
je 0x1003c4be
cmp ebp, 3
jne 0x1003c4d1
mov dword [ecx + 0x18], 2
cmp ebp, 3
jne 0x1003c4d1
mov dword [ecx + 0x18], 6
inc ebp
cmp ebp, 6
mov dword [esp + 0x1c], ebp
jl 0x1003c210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret