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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov eax, dword [0x1004a040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [0x1004a4dc]
mov eax, edx
push esi
mov esi, ecx
mov dword [ebp - 0x28], eax
push edi
mov dword [ebp - 0x30], ebx
cmp byte [esi + 0x67], 0
je 0x1003d504
movups xmm0, xmmword [ebx + 0x46c0]
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [ebx + 0x46d0]
movq qword [ebp - 0x54], xmm0
call fcn.1003c0c0
movups xmm0, xmmword [ebp - 0x6c]
mov eax, dword [ebp - 0x28]
movups xmmword [ebx + 0x46c0], xmm0
movq xmm0, qword [ebp - 0x54]
movq qword [ebx + 0x46d0], xmm0
mov ecx, dword [ebx + 0x3e60]
mov dword [ebp - 0x34], ecx
cmp byte [ecx + 0xaf], 0
je 0x1003d529
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1003f434
mov esp, ebp
pop ebp
ret
push ecx
mov edx, eax
mov ecx, esi
call fcn.1003cfa0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x1003d55c
mov edx, dword [esi]
xor eax, eax
test edx, edx
jle 0x1003d55c
mov edi, dword [esi + 8]
nop word [eax + eax]
cmp dword [edi], ecx
je 0x1003d55e
inc eax
add edi, 0x2c
cmp eax, edx
jl 0x1003d550
xor edi, edi
mov byte [ebp - 0x19], 0
test edi, edi
jne 0x1003d630
mov ecx, dword [esi]
or eax, 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0xa4], edi
mov edi, dword [esi + 4]
movlpd qword [ebp - 0xbc], xmm0
movlpd qword [ebp - 0xac], xmm0
mov dword [ebp - 0xb0], 0xffffffff
mov dword [ebp - 0xb4], 0xffffffff
mov dword [ebp - 0xa0], 0xbf800000
mov dword [ebp - 0x9c], 0xffffffff
mov word [ebp - 0x96], ax
mov word [ebp - 0x98], ax
cmp ecx, edi
jne 0x1003d5e7
inc ecx
test edi, edi
je 0x1003d5d5
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1003d5da
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1003eaa0
imul eax, dword [esi], 0x2c
movups xmm0, xmmword [ebp - 0xbc]
mov edx, dword [ebp - 0x24]
mov byte [ebp - 0x19], 1
add eax, dword [esi + 8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xac]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [ebp - 0x9c]
movq qword [eax + 0x20], xmm0
mov dword [eax + 0x28], 0
inc dword [esi]
imul ecx, dword [esi], 0x2c
mov edi, dword [esi + 8]
add edi, 0xffffffd4
add edi, ecx
mov dword [edi], edx
mov byte [esi + 0x69], 1
mov ecx, edi
mov eax, 0x2e8ba2e9
sub ecx, dword [esi + 8]
imul ecx
push 0
sar edx, 3
lea ecx, [ebp - 0x74]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
mov word [esi + 0x6c], ax
call fcn.1003df80
add esp, 4
mov dword [edi + 0x1c], 0xbf800000
test byte [ebx + 0x46c0], 1
je 0x1003d679
movss xmm1, dword [ebx + 0x46c8]
movss dword [edi + 0x1c], xmm1
jmp 0x1003d67e
movss xmm1, dword [ebp - 0x74]
cmp byte [ebp - 0x19], 0
movss xmm0, dword [0x10047e10]
je 0x1003d695
maxss xmm0, xmm1
movss dword [edi + 0x14], xmm0
movss dword [edi + 0x18], xmm1
mov ax, word [esi + 0x6a]
mov word [edi + 0x24], ax
mov eax, dword [esi + 0x24]
inc word [esi + 0x6a]
inc eax
mov ecx, dword [ebx + 0x3de0]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0xc]
shr eax, 0x15
and eax, 0xffffff01
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 8]
mov dword [edi + 8], ecx
inc eax
mov dword [edi + 4], 0x100000
mov ecx, dword [esi + 0x84]
mov dword [ebp - 0x4c], eax
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [edi + 0x20], ecx
mov ecx, edx
lea ebx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003d6f0
sub ecx, ebx
lea ebx, [edx + 1]
add ebx, ecx
je 0x1003d704
sub ebx, edx
jmp 0x1003d719
mov ebx, edx
lea ecx, [ebx + 1]
nop dword [eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x1003d710
sub ebx, ecx
mov eax, dword [esi + 0x84]
lea ecx, [esi + 0x84]
test eax, eax
mov edx, 1
mov dword [ebp - 0x40], edx
cmovne edx, eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x38], edx
add edx, ebx
mov dword [ebp - 0x20], edx
cmp edx, eax
jl 0x1003d757
add eax, eax
cmp edx, eax
cmovg eax, edx
push eax
call fcn.1001d830
mov edx, dword [ebp - 0x20]
lea ecx, [esi + 0x84]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x44], eax
cmp edx, eax
jle 0x1003d795
test eax, eax
je 0x1003d774
cdq
sub eax, edx
mov edx, dword [ebp - 0x20]
mov ecx, eax
sar ecx, 1
add ecx, dword [ebp - 0x44]
jmp 0x1003d779
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [esi + 0x84]
push eax
call fcn.1001d830
mov edx, dword [ebp - 0x20]
lea ecx, [esi + 0x84]
mov dword [ecx], edx
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x38]
push ebx
push dword [ebp - 0x28]
dec ecx
add eax, ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [esi + 0x8c]
add ecx, ebx
mov edx, dword [ebp - 0x3c]
mov byte [ecx + eax - 1], 0
cmp dword [ebp - 0x4c], edx
jge 0x1003d7e1
test byte [esi + 0xc], 2
je 0x1003d7e1
cmp dword [esi + 0x18], 0
jne 0x1003d7e1
cmp dword [ebp - 0x2c], edx
jge 0x1003d7dc
cmp dword [esi + 0x14], 0
jne 0x1003d7e1
mov eax, dword [edi]
mov dword [esi + 0x18], eax
mov ecx, dword [ebp - 0x24]
cmp dword [esi + 0x1c], ecx
sete bl
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x5c], bl
jne 0x1003d833
mov byte [esi + 0x68], 1
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x4c], edx
jge 0x1003d858
cmp eax, edx
jge 0x1003d808
cmp byte [ebp - 0x19], 0
je 0x1003d858
xorps xmm0, xmm0
mov edx, ecx
push 8
push 0
lea ecx, [ebp - 0x6c]
movups xmmword [ebp - 0x6c], xmm0
call fcn.10015aa0
add esp, 8
mov al, bl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1003f434
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14], 0
jne 0x1003d7f6
mov eax, dword [ebp - 0x2c]
cmp eax, edx
jge 0x1003d7f9
cmp dword [esi], 1
jne 0x1003d7f9
test byte [esi + 0xc], 2
movzx ebx, bl
cmove ebx, dword [ebp - 0x40]
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x5c], bl
jmp 0x1003d7f9
cmp dword [esi + 0x14], ecx
jne 0x1003d869
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x3de0]
mov dword [edi + 0xc], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [edi + 4]
movss xmm2, dword [edi + 0x14]
and eax, 0xc0
movss xmm1, dword [edi + 0x10]
movss xmm0, dword [edx + 0xf0]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [edx + 0xf4]
movss dword [ebp - 0x44], xmm0
mov dword [ebp - 0x40], eax
jne 0x1003d8b0
subss xmm1, dword [esi + 0x48]
cvttss2si eax, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0x40]
cvtdq2ps xmm1, xmm1
mov ebx, 4
xorps xmm0, xmm0
addss xmm1, dword [esi + 0x28]
movss dword [ebp - 0x38], xmm1
movaps xmm4, xmm1
movss xmm5, dword [ebx + esi + 0x28]
addss xmm4, xmm2
mov ebx, dword [ebp - 0x30]
addss xmm5, xmm0
movss dword [ebp - 0x50], xmm5
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm5
movss xmm3, dword [ebp - 0x70]
movss dword [ebp - 0x78], xmm4
addss xmm3, xmm5
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm5
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0x70], xmm3
movss dword [ebp - 0xc], xmm3
test eax, eax
jne 0x1003da96
movss xmm6, dword [esi + 0x58]
comiss xmm6, xmm1
movss xmm2, dword [esi + 0x5c]
ja 0x1003d932
comiss xmm4, xmm2
jbe 0x1003da96
mov ecx, dword [0x1004a4dc]
maxss xmm1, xmm6
movaps xmm0, xmm5
mov byte [ebp - 0x19], 1
subss xmm0, dword [0x10047e10]
movaps xmm5, xmm3
mov eax, dword [ecx + 0x3e60]
movss dword [ebp - 0x90], xmm1
movss dword [ebp - 0x8c], xmm0
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e60]
mov dword [ebp - 0x80], eax
mov eax, dword [eax + 0x264]
mov dword [ebp - 0x40], eax
movups xmm4, xmmword [eax + 0x60]
comiss xmm4, xmm1
movups xmmword [ebp - 0x6c], xmm4
jbe 0x1003d995
movaps xmm1, xmm4
movss dword [ebp - 0x90], xmm1
movss xmm4, dword [ebp - 0x68]
comiss xmm4, xmm0
jbe 0x1003d9aa
movaps xmm0, xmm4
movss dword [ebp - 0x8c], xmm0
movss xmm4, dword [ebp - 0x64]
comiss xmm2, xmm4
jbe 0x1003d9b7
movaps xmm2, xmm4
movss xmm4, dword [ebp - 0x60]
comiss xmm3, xmm4
jbe 0x1003d9c4
movaps xmm5, xmm4
mov edx, dword [eax + 0x3c]
lea ecx, [eax + 0x3c]
mov eax, dword [ecx + 4]
maxss xmm1, xmm2
mov dword [ebp - 0x30], ecx
maxss xmm0, xmm5
movss dword [ebp - 0x88], xmm1
movss dword [ebp - 0x84], xmm0
cmp edx, eax
jne 0x1003da18
lea ecx, [edx + 1]
test eax, eax
je 0x1003da00
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 1
add eax, dword [edx + 4]
jmp 0x1003da08
mov edx, dword [ebp - 0x30]
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.1002cdd0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
add eax, eax
movups xmm0, xmmword [ebp - 0x90]
movups xmmword [edx + eax*8], xmm0
inc dword [ecx]
mov ecx, dword [ebp - 0x40]
movups xmmword [ecx + 0x60], xmm0
call fcn.10025d50
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x264]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [edx + 0x210], eax
movss dword [edx + 0x214], xmm0
movss dword [edx + 0x218], xmm1
movss dword [edx + 0x21c], xmm2
movss xmm1, dword [ebp - 0x38]
movss xmm3, dword [ebp - 0x70]
movss xmm4, dword [ebp - 0x78]
movss xmm5, dword [ebp - 0x50]
mov edx, dword [ebp - 0x34]
jmp 0x1003da9a
mov byte [ebp - 0x19], 0
movss xmm0, dword [edx + 0x108]
subss xmm4, xmm1
movss xmm1, dword [ebx + 0x37c8]
subss xmm3, xmm5
movss xmm7, dword [edx + 0x10c]
lea ecx, [ebp - 0x7c]
movss dword [ebp - 0x50], xmm0
movss dword [ebp - 0x7c], xmm4
movss dword [ebp - 0x78], xmm3
call fcn.100158f0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18]
movss xmm0, dword [ebp - 0x50]
mov edx, dword [ebp - 0x24]
push 0
push 0
movss dword [eax + 0x108], xmm0
movss dword [eax + 0x10c], xmm7
call fcn.10015aa0
add esp, 8
test al, al
jne 0x1003dbc8
cmp byte [ebp - 0x19], al
je 0x1003db97
mov ecx, dword [0x1004a4dc]
mov eax, dword [ecx + 0x3e60]
mov byte [eax + 0xac], 1
mov esi, dword [ecx + 0x3e60]
mov ecx, dword [esi + 0x264]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1003db3e
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1003db49
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.10025d50
mov eax, dword [esi + 0x264]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [esi + 0x210], eax
movss dword [esi + 0x214], xmm0
movss dword [esi + 0x218], xmm1
movss dword [esi + 0x21c], xmm2
mov eax, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x2c]
movss dword [eax + 0xf0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0xf4], xmm0
mov al, byte [ebp - 0x20]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1003f434
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x4988], 0
mov ecx, 0x1010
mov edx, dword [ebp - 0x24]
mov eax, 0x1210
cmove eax, ecx
lea ecx, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1a]
push eax
lea eax, [ebp - 0x1b]
push eax
call fcn.10031380
add esp, 0xc
test al, al
je 0x1003dbfc
mov eax, dword [edi]
mov dword [esi + 0x18], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x1a], al
test al, al
je 0x1003dc7d
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x4c], ecx
mov ecx, dword [0x1004a4dc]
jl 0x1003dc83
cmp byte [ecx + 0xdc4], 0
je 0x1003dc83
movss xmm1, dword [ecx + 0x58]
movss xmm0, dword [ecx + 0x3758]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
je 0x1003dc83
cmp byte [ebx + 0x4988], 0
jne 0x1003dc83
test byte [esi + 0xc], 1
xorps xmm1, xmm1
je 0x1003dc86
movss xmm2, dword [ebx + 0xb4]
comiss xmm1, xmm2
jbe 0x1003dcb6
movss xmm0, dword [ebp - 0x18]
comiss xmm0, dword [ebx + 0xdbc]
jbe 0x1003dcb6
push dword [ebx + 0xdc0]
mov edx, edi
mov ecx, esi
push dword [ebx + 0xdbc]
call fcn.1003d060
add esp, 8
mov ecx, dword [0x1004a4dc]
xorps xmm1, xmm1
cmp byte [ebp - 0x1a], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x264]
mov dword [ebp - 0x3c], eax
jne 0x1003dcde
cmp byte [ebp - 0x1b], 0
jne 0x1003dcde
cmp byte [ebp - 0x20], 0
je 0x1003dccb
mov edx, dword [ebp - 0x58]
movzx eax, dl
xor eax, 1
lea eax, [eax*2 + 0x23]
jmp 0x1003dce3
comiss xmm2, xmm1
jbe 0x1003dc86
movss xmm0, dword [ebx + 0xdbc]
comiss xmm0, dword [ebp - 0x10]
jbe 0x1003dc86
jmp 0x1003dc65
cmp byte [ebp - 0x58], 0
mov eax, 0x24
mov edx, 0x21
cmovne eax, edx
jmp 0x1003dce3
mov eax, 0x22
movss xmm2, dword [0x10047e10]
add eax, eax
movups xmm4, xmmword [ecx + eax*8 + 0x3864]
comiss xmm1, xmm4
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xff
mulss xmm3, dword [ecx + 0x3788]
movups xmmword [ebp - 0x6c], xmm4
jbe 0x1003dd12
xorps xmm0, xmm0
jmp 0x1003dd19
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm4, dword [0x10047ea4]
movss xmm5, dword [0x10047dd8]
movss xmm6, dword [ebp - 0x68]
comiss xmm1, xmm6
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x1003dd44
xorps xmm0, xmm0
jmp 0x1003dd4b
movaps xmm0, xmm2
minss xmm0, xmm6
movss xmm6, dword [ebp - 0x64]
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm6
jbe 0x1003dd6b
xorps xmm0, xmm0
jmp 0x1003dd72
movaps xmm0, xmm2
minss xmm0, xmm6
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm3
jbe 0x1003dd8d
xorps xmm2, xmm2
jmp 0x1003dd91
minss xmm2, xmm3
mulss xmm2, xmm4
lea edx, [ebp - 0x18]
addss xmm2, xmm5
cvttss2si eax, xmm2
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x3c]
push eax
push 0x100000
call fcn.1003e080
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x18]
push 1
call fcn.10008210
add esp, 0xc
mov ecx, 0x20
call fcn.1000a400
test al, al
je 0x1003de27
mov ecx, dword [0x1004a4dc]
cmp byte [ecx + 0xdc5], 0
je 0x1003de09
movss xmm1, dword [ecx + 0x3734]
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1003de09
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x1003de09
mov edx, 0x282
call fcn.10005b90
cmp byte [eax + 8], 0
je 0x1003de22
cmp byte [ecx + 0x371f], 0
je 0x1003de27
mov edx, 0x282
call fcn.10005b90
cmp byte [eax + 8], 0
jne 0x1003de27
mov eax, dword [edi]
mov dword [esi + 0x18], eax
push dword [esi + 0x78]
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x1b]
push dword [esi + 0x74]
lea edx, [ebp - 0x18]
push eax
lea eax, [ebp - 0x45]
push eax
push dword [ebp - 0x5c]
mov eax, dword [esi + 0xc]
push 0
push dword [ebp - 0x24]
and eax, 8
push dword [ebp - 0x28]
or eax, 0x200000
shr eax, 1
push eax
call fcn.1003e580
add esp, 0x24
cmp byte [ebp - 0x19], 0
je 0x1003def7
mov ecx, dword [0x1004a4dc]
mov eax, dword [ecx + 0x3e60]
mov byte [eax + 0xac], 1
mov ecx, dword [ecx + 0x3e60]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ecx + 0x264]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1003de9b
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1003dea6
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.10025d50
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x264]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [edx + 0x210], eax
movss dword [edx + 0x214], xmm0
movss dword [edx + 0x218], xmm1
movss dword [edx + 0x21c], xmm2
cmp byte [ebp - 0x1b], 0
mov eax, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x2c]
movss dword [eax + 0xf0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0xf4], xmm0
je 0x1003df68
mov eax, dword [ebp - 0x24]
cmp dword [ebx + 0x3e98], eax
jne 0x1003df68
cmp byte [ebp - 0x1a], 0
jne 0x1003df68
test byte [esi + 0xc], 0x20
jne 0x1003df68
test byte [edi + 4], 0x10
jne 0x1003df68
mov eax, dword [ebp - 0x28]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x1003df57
mov dl, byte [ecx]
test dl, dl
je 0x1003df57
cmp dl, 0x23
jne 0x1003df51
cmp byte [ecx + 1], dl
je 0x1003df57
inc ecx
cmp ecx, 0xffffffff
jb 0x1003df41
push eax
sub ecx, eax
push ecx
push str._.s
call fcn.100167c0
add esp, 0xc
mov ecx, dword [ebp - 8]
mov al, byte [ebp - 0x20]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1003f434
mov esp, ebp
pop ebp
ret