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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e8
mov dword [esp + 0x38], ecx
xor eax, eax
mov dword [esp + 0x64], eax
or ecx, 0xffffffff
mov dword [esp + 4], 6
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x24], 0x88a97331
push esi
mov dword [esp + 0x18], ecx
push edi
mov dword [esp + 0x1c], 0xfffffff6
mov edi, edx
mov dword [esp + 0x1c], 2
mov dword [esp + 0x44], edi
mov dword [esp + 0x14], eax
jmp 0x410824
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x1b8], 0x35e45db0
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x410811
push 1
pop esi
cmp dword [esp + 0xc], eax
jne 0x410921
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, edx
push 0
pop ecx
setge cl
xor edx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, 0xc2a4
setg cl
cmp ecx, dword [esp + 0x2c]
jl 0x41089d
mov edx, esi
cmp dword [esp + 0xc], eax
jne 0x41089f
mov edx, eax
xor ecx, ecx
cmp edx, 0x7778
push 0
setl cl
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x24], ecx
setge dl
sub edx, dword [esp + 0xc]
je 0x4108e0
cmp dword [esp + 0x18], eax
je 0x4108e0
xor esi, esi
inc esi
jmp 0x4108e2
mov esi, eax
mov ecx, dword [esp + 0xc]
xor edx, edx
cmp ecx, esi
mov ecx, dword [esp + 0xc]
push 0
setge dl
mov dword [esp + 0x28], edx
xor edx, edx
cmp dword [esp + 0x28], ecx
setne dl
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
cmp edx, ecx
pop ecx
setge cl
xor esi, esi
mov dword [esp + 0x1c], ecx
inc esi
mov ecx, eax
cmp dword [esp + 0x1c], eax
je 0x410923
mov ecx, esi
mov dword [esp + 0x1c0], ecx
mov ecx, dword [0xa670a0]
test cl, 1
jne 0x4109ba
push eax
or ecx, esi
mov dword [0xa67080], eax
push eax
mov dword [0xa670a0], ecx
mov dword [0xa67084], eax
call fcn.004130c6
mov ecx, eax
mov dword [0xa6709c], 0x3f800000
mov dword [0xa67080], ecx
xor eax, eax
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xc0]
push ecx
push 0x10
push eax
mov dword [0xa67088], eax
mov ecx, 0xa67088
mov dword [0xa67090], eax
mov dword [0xa6708c], eax
lea eax, [esp + 0x15c]
push eax
call fcn.00412e6b
push 0x473ca9
mov dword [0xa67094], 7
mov dword [0xa67098], 8
call fcn.00467c6f
pop ecx
xor eax, eax
mov dword [esp + 0xc], 0xe793
mov dword [esp + 0x1c], 0x15e1abe8
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], 0xa056ebf4
mov dword [esp + 0x14], eax
jmp 0x4109f3
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xc8], 0x562b994b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4109e0
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0xc]
sub edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp edx, ecx
mov ecx, dword [esp + 0xc]
push 0
pop edx
setg dl
cmp edx, ecx
push 0
pop edx
setg dl
add edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp edx, ecx
push 0
pop ecx
setl cl
xor edx, edx
imul ecx, dword [esp + 0x1c]
imul ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xc]
setne dl
mov dword [esp + 0x24], edx
xor edx, edx
cmp dword [esp + 0x24], ecx
setge dl
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0xc]
jle 0x410aa9
mov dword [esp + 0x24], 0x411a
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x410aa0
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [0xa69004]
or eax, 0xffffffff
mov dword [esp + 0x24], eax
jmp 0x410acb
xor ecx, ecx
mov dword [esp + 0x18], eax
inc ecx
jmp 0x410ac5
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xc8], 0x75da2ca3
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x410ab2
imul eax, dword [esp + 0x40], 0x2710
lea ecx, [esp + 0x80]
add eax, edi
xor edi, edi
inc edi
mov dword [esp + 0x64], eax
push edi
call fcn.004121f5
push 4
pop esi
mov dword [esp + 0x18], 0x3d9532bb
lea ecx, [esp + 0xfc]
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0xc], 0xafc37186
push esi
call fcn.004121f5
mov dword [esp + 0x20], 0x7b79f6a7
or eax, 0xffffffff
mov dword [esp + 0x14], 0xb372ba29
mov dword [esp + 0x1c], 8
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x2c], 0x9d331f86
mov dword [esp + 0x34], 0xdd0
mov dword [esp + 0x28], 0x6dddd895
mov dword [esp + 0xc], eax
jmp 0x410b62
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x410b50
mov dword [esp + 0xc], eax
jmp 0x410b80
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xfc]
mov dword [ecx + edx*4], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x410b6e
mov dword [esp + 0xc], eax
jmp 0x410b9f
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x194], 0xb9be
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x410b8c
mov ecx, dword [esp + 0x80]
push 0
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
cmp edx, dword [ecx]
mov ecx, dword [esp + 0x18]
pop edx
setge dl
dec dword [esp + 0x14]
cmp edx, ecx
mov ecx, edi
push 0
cmovge ecx, eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp ecx, edx
mov ecx, dword [esp + 0x84]
pop edx
setne dl
sub edx, dword [ecx]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0xf0f5
setge cl
cmp ecx, 0x5f3d
jne 0x410c25
mov ecx, eax
cmp dword [esp + 0x2c], eax
je 0x410c27
mov ecx, edi
mov dword [esp + 0x2c], ecx
mov esi, edi
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x1c]
sub ecx, 0x4ba26abe
push 0
pop ecx
sets cl
add edx, ecx
mov ecx, dword [esp + 0x80]
push 0
mov ecx, dword [ecx]
dec dword [esp + 0x20]
cmp ecx, edx
mov ecx, dword [esp + 0x84]
cmovg esi, eax
mov edx, dword [ecx]
xor ecx, ecx
cmp edx, esi
setle cl
cmp ecx, edx
pop ecx
setl cl
xor edx, edx
neg ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x24], ecx
push 0
setne dl
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
cmp ecx, edx
pop edx
setne dl
imul edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xfc]
neg edx
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xfc]
call fcn.004122c7
lea ecx, [esp + 0x80]
call fcn.004122c7
lea eax, [esp + 0x64]
push eax
call fcn.00412309
push edi
lea ecx, [esp + 0x130]
mov esi, dword [eax]
call fcn.004121f5
mov dword [esp + 0x20], 2
or eax, 0xffffffff
mov dword [esp + 0x20], 0x3fa75c1
mov dword [esp + 0x20], 0xfddd3f46
mov dword [esp + 0x20], 0x1e29ea41
mov dword [esp + 0x20], 0x800fa72c
mov dword [esp + 0x20], 0x8a012e1d
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x28], 0xef33
mov dword [esp + 0xc], eax
jmp 0x410d61
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x12c]
mov dword [ecx + edx*4], 3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x410d4b
mov dword [esp + 0xc], eax
jmp 0x410d80
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1b0], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x410d6d
dec dword [esp + 0x28]
lea ecx, [esp + 0x12c]
call fcn.004122c7
test esi, esi
je 0x410da4
mov dword [esp + 0x70], esi
jmp 0x412016
mov eax, dword [0xa670a0]
test al, 2
jne 0x410e32
or eax, 2
mov dword [0xa670a0], eax
xor eax, eax
push eax
push eax
mov dword [0xa67050], eax
mov dword [0xa67054], eax
call fcn.004130c6
mov ecx, eax
mov dword [0xa6706c], 0x3f800000
mov dword [0xa67050], ecx
xor eax, eax
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0xc4]
push ecx
push 0x10
push eax
mov dword [0xa67058], eax
mov ecx, 0xa67058
mov dword [0xa67060], eax
mov dword [0xa6705c], eax
lea eax, [esp + 0xe0]
push eax
call fcn.00412e6b
push 0x473ca4
mov dword [0xa67064], 7
mov dword [0xa67068], 8
call fcn.00467c6f
pop ecx
mov dword [esp + 0xc], 0xc75b57fd
mov dword [esp + 0x28], edi
mov dword [esp + 0xc], 6
jmp 0x410f3d
or eax, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0x7be74fd5
mov dword [esp + 0x18], 0xffffffed
jmp 0x410ef1
mov dword [esp + 0x34], 0xa6fdd8fb
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], 0x29bfaead
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x410e92
push 0x1f24
call dword [0xa691ac]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0xc]
neg eax
sbb eax, eax
add eax, 0xf419d795
cmp eax, edi
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe7
je 0x410e67
xor eax, eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x410f39
push eax
push 0x8d6
push 0x1db5
push 0x17c2
push 0xe35
push 0x15f1
push 0x8df
push 0xecc
push 0xee0
push eax
push eax
call dword [section..idata]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff8
je 0x410e4b
xorps xmm0, xmm0
or edx, 0xffffffff
movdqu xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x18], 0xe9bf9f36
xor eax, eax
mov dword [esp + 0x20], 0xf34111d0
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], 0x17d72b90
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], 0xf83
mov dword [esp + 0x14], eax
jmp 0x410faa
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xf0], 0xdebf889e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x410f97
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x28]
cmp edx, ecx
sbb esi, esi
xor edx, edx
inc esi
add esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
cmp ecx, esi
setle dl
xor ecx, ecx
cmp edx, 0xe731
setl cl
cmp ecx, dword [esp + 0xf0]
je 0x410fe8
mov ecx, dword [esp + 0xf0]
inc dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x18]
or esi, 0xffffffff
mov ecx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
mov ecx, dword [esp + 0x18]
setle dl
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, edx
jg 0x41102c
cmp dword [esp + 0x28], eax
je 0x41102c
xor esi, esi
inc esi
mov ecx, esi
jmp 0x411031
xor esi, esi
mov ecx, eax
inc esi
mov eax, dword [esp + 0xc]
xor edx, edx
add eax, 0xfffffff7
add ecx, eax
mov eax, dword [esp + 0x34]
cmp ecx, eax
setle dl
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xf8]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 9
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
push eax
call fcn.0041236b
push 3
lea ecx, [esp + 0x158]
mov edi, dword [eax]
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0x28], edi
call fcn.004121f5
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4110b8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x154]
mov dword [ecx + edx*4], 0xef6b8f3d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x4110a2
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 2
jle 0x4110f4
or ecx, 0xffffffff
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x28], 7
inc dword [esp + 0x28]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jg 0x4110cd
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x411112
call dword [0xa691d4]
push eax
call dword [0xa691c4]
push eax
call dword [0xa69030]
lea ecx, [esp + 0x154]
call fcn.004122c7
mov al, byte [ebp + 0xc]
test al, al
jne 0x41112d
test edi, edi
jne 0x411b86
or ecx, 0xffffffff
mov dword [esp + 0x14], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], 4
cmp dword [esp + 0x14], 0x2a
jne 0x411184
mov dword [esp + 0x18], esi
mov dword [esp + 0x18], 0
jmp 0x41116f
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x41116b
push 0
push 0
call dword [0xa690b8]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1b
jl 0x411155
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x2a
je 0x411147
mov al, byte [ebp + 0xc]
lea ecx, [esp + 0x1e0]
mov dl, al
push ecx
mov ecx, dword [esp + 0x44]
call fcn.004011f1
mov esi, eax
lea edi, [esp + 0x90]
pop ecx
push 4
lea ecx, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004121f5
xor eax, eax
mov dword [esp + 0x30], 0xc0e0752
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 3
jge 0x4111e1
xor esi, esi
inc esi
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0xb4], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x4111cb
mov dword [esp + 0xc], eax
jmp 0x4111fd
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov dword [ecx + edx*4], 0xe83c773
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x4111e7
mov edi, dword [esp + 0xa8]
mov dword [edi + 0xc], eax
mov ecx, dword [edi + 0xc]
or edx, 0xffffffff
mov dword [esp + 0x30], 4
mov dword [esp + 0x28], eax
push 0
mov ecx, dword [esp + ecx*4 + 0xb8]
mov dword [esp + 0x34], ecx
mov ecx, dword [edi + 0xc]
mov ecx, dword [esp + ecx*4 + 0xb8]
cmp edx, ecx
sbb edx, edx
xor ecx, ecx
add edx, 0xfffffffc
cmp edx, 0xfffffffb
setle cl
imul edx, ecx, 0x2c44
mov ecx, dword [edi + 0xc]
mov ecx, dword [esp + ecx*4 + 0xb8]
cmp ecx, edx
pop ecx
setg cl
xor edx, edx
cmp ecx, 0xf746e33
mov ecx, dword [esp + 0xa8]
push 0
setge dl
imul edx, dword [ecx]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x34], edx
mov edx, dword [esp + ecx*4 + 0xb8]
add edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xac]
cmp edx, dword [ecx]
pop ecx
setle cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [edi + 0xc]
mov ecx, dword [esp + ecx*4 + 0xb4]
cmp dword [esp + 0x30], ecx
mov ecx, dword [edi + 0xc]
setl dl
mov dword [esp + ecx*4 + 0xb4], edx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
inc dword [edi + 0xc]
cmp dword [edi + 0xc], 2
mov dword [esp + 0x30], ecx
jle 0x41120e
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x4112e9
push eax
call dword [0xa691d4]
push eax
call dword [0xa691ec]
lea ecx, [esp + 0xa8]
call fcn.004122c7
cmp byte [ebp + 0xc], 0
je 0x4114ad
cmp dword [esp + 0x94], 0
je 0x4114ad
mov dword [esp + 0x18], 0xc3707822
lea ecx, [esp + 0x160]
mov dword [esp + 0x1c], 0
xor eax, eax
mov dword [esp + 0x28], 0xb35edade
inc eax
mov dword [esp + 0x30], 0xb959c45c
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x20], eax
or eax, 0xffffffff
mov dword [esp + 0x20], 0
push 9
mov dword [esp + 0x24], 0xe3cb5af9
pop edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x20], 0x49c23edb
push 3
call fcn.004121f5
xor eax, eax
mov dword [esp + 0x34], 0xfffffff8
mov dword [esp + 0x14], eax
jmp 0x411396
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x160]
mov dword [ecx + edx*4], 0x2c40a98c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x411380
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
mov ecx, dword [esp + 0x18]
push 0
pop edx
setl dl
cmp ecx, edx
push 0
pop ecx
setl cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, edi
setne dl
xor ecx, ecx
cmp edx, dword [esp + 0x30]
setne cl
xor esi, esi
mov dword [esp + 0x1c], ecx
inc esi
mov ecx, esi
cmp dword [esp + 0x1c], eax
jne 0x4113ea
mov ecx, eax
mov eax, dword [esp + 0x18]
imul eax, ecx
lea ecx, [esp + 0x160]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
dec dword [esp + 0x34]
call fcn.004122c7
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], 0x80d6
mov dword [esp + 0x20], 0xd9ba
mov dword [esp + 0x74], eax
mov dword [esp + 0xc], 0
jmp 0x41144a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x54], 0x2c03342e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x41143a
mov dword [esp + 0xc], 0
jmp 0x41146b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x68], 0x5261
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x41145b
mov dword [esp + 0x54], 0xb
jmp 0x411495
mov dword [esp + 0x30], 0xfffffff6
mov eax, dword [esp + 0x54]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
dec dword [esp + 0x54]
cmp dword [esp + 0x54], 0xfffffff7
je 0x41147b
inc dword [esp + 0x68]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x78], eax
jmp 0x4114b0
xor esi, esi
inc esi
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x411b86
cmp dword [esp + 0x8c], edi
jle 0x411b86
push 4
pop edi
push edi
lea ecx, [esp + 0x10c]
call fcn.004121f5
mov dword [esp + 0x14], 0x252cb136
mov dword [esp + 0x14], 0
jmp 0x411501
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], 0x3342
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x4114eb
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], 0
jl 0x411531
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [esp + 0x14]
jns 0x411516
lea ecx, [esp + 0x108]
call fcn.004122c7
mov dword [esp + 0x18], 0xfffffffc
xor eax, eax
mov dword [esp + 0x30], 0x3d783989
mov dword [esp + 0x2c], 0x93cc2542
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], 0xfffe
mov dword [esp + 0xc], eax
jmp 0x41157c
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1c8], 9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x411569
mov dword [esp + 0xc], eax
jmp 0x41159b
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x16c], 0xd8ef068c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x411588
mov dword [esp + 0x18], 0x1d
or edi, 0xffffffff
jmp 0x411625
mov dword [esp + 0xc], 0xfa72c2
cmp dword [esp + 0xc], eax
jne 0x4115c5
mov ecx, eax
cmp dword [esp + 0x18], eax
je 0x4115c7
mov ecx, esi
xor edx, edx
cmp ecx, 0x29ea
mov ecx, dword [esp + 0x18]
setl dl
add edx, 0x5fed1e21
cmp ecx, edx
push 0
pop ecx
setg cl
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc], eax
jmp 0x41161a
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x41160b
push eax
call dword [0xa6919c]
xor eax, eax
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x1c8]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x4115f7
dec dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jne 0x4115af
mov edx, dword [esp + 0x1c]
mov edi, esi
mov ecx, dword [esp + 0x28]
dec dword [esp + 0x1c]
cmp edx, ecx
cmove edi, eax
cmp dword [esp + 0x170], eax
je 0x41164b
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
neg esi
sbb esi, esi
imul ecx, dword [esp + 0x18], 0x5a74
xor edx, edx
neg esi
cmp edi, ecx
setne dl
xor ecx, ecx
cmp edx, esi
setge cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x30], ecx
setle dl
xor esi, esi
add edx, dword [esp + 0x2c]
inc esi
cmp esi, edx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xaba4
setne dl
or edi, 0xffffffff
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], 0xfffffffc
mov dword [esp + 0x30], 0x18d5
mov dword [esp + 0x28], edi
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4116c1
call dword [0xa691d0]
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4116db
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffe9
jne 0x4116c7
mov dword [esp + 0x30], 0x39e
lea ecx, [esp + 0x120]
mov dword [esp + 0x1c], 0x1637c1d6
mov dword [esp + 0x28], 6
push esi
call fcn.004121f5
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x138]
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0xabefa025
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], 0x42ad015b
push 2
call fcn.004121f5
push dword [esp + 0xd4]
movdqa xmm0, xmmword [0xa64c60]
lea ecx, [esp + 0x198]
push ecx
mov dword [esp + 0x28], 0xe708bee6
lea ecx, [esp + 0x18c]
mov dword [esp + 0x28], 0x85c82f74
xor eax, eax
mov dword [esp + 0xd4], esi
push ecx
mov dword [esp + 0x28], 0xfff9
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], 0x5b5b06a8
mov dword [esp + 0x2c], 0xaea1
push eax
movdqu xmmword [esp + 0x194], xmm0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
call fcn.00413367
mov dword [esp + 0xc], 0xf2fea276
xor eax, eax
mov dword [esp + 0x20], 0x41d4
mov dword [esp + 0xc], eax
jmp 0x4117e2
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x120]
mov dword [ecx + edx*4], 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4117cc
mov dword [esp + 0xc], eax
jmp 0x411800
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x138]
mov dword [ecx + edx*4], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x4117ee
cmp dword [esp + 0x28], eax
jne 0x41181a
mov ecx, dword [esp + 0x120]
mov dword [ecx], 0x9e22
mov ecx, dword [esp + 0x18]
xor edx, edx
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
push 0
setle dl
sub edx, 0xfce4a839
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
sub edx, ecx
mov ecx, dword [esp + 0xd0]
cmp edx, ecx
mov ecx, dword [esp + 0xa0]
pop edx
setge dl
push 0
cmp edx, dword [ecx]
mov edx, dword [esp + 0x30]
pop ecx
setl cl
imul edx, ecx
push 0
sub edx, dword [esp + 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
mov ecx, dword [esp + 0xa0]
pop edx
setg dl
add edx, dword [ecx]
mov ecx, dword [esp + 0x2c]
sub edx, ecx
add edx, 5
mov dword [esp + 0x18], edx
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], eax
jl 0x411900
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4118fa
push 0x24a5
push 0x1abe
push eax
call dword [0xa691f4]
xor eax, eax
dec dword [esp + 0x18]
jns 0x4118dc
lea ecx, [esp + 0x9c]
call fcn.004122c7
lea ecx, [esp + 0x138]
call fcn.004122c7
lea ecx, [esp + 0x120]
call fcn.004122c7
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], 0
jmp 0x411978
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], 0
jmp 0x41195b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xd0], 0xd526d2e8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x411948
mov dword [esp + 0x28], 0x9ea98311
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd0], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff9
jg 0x41193a
cmp dword [esp + 0x90], 0
je 0x411b82
mov dword [esp + 0x18], 0x4e064826
lea ecx, [esp + 0x114]
push 4
call fcn.004121f5
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4119c1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x114]
mov dword [ecx + edx*4], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x4119ab
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0xfffffff5
je 0x4119ec
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], 3
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff5
jne 0x4119da
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], eax
jl 0x411a23
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x411a1d
push 0x1955
push 0x64c
push 0x2187
push eax
call dword [0xa6909c]
xor eax, eax
dec dword [esp + 0x18]
jns 0x4119fa
lea ecx, [esp + 0x114]
call fcn.004122c7
push dword [esp + 0x90]
push 0x389c
push esi
push 0x79c6
push esi
push 0xaa6
call fcn.0040f814
push dword [esp + 0xa8]
call fcn.00458dca
add esp, 0x1c
lea ecx, [esp + 0x144]
mov edi, eax
push 2
call fcn.004121f5
push esi
lea ecx, [esp + 0xe8]
call fcn.004121f5
movdqa xmm0, xmmword [0xa64ca0]
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x1e0]
movdqu xmmword [esp + 0x17c], xmm0
call fcn.004122f5
push ecx
lea ecx, [esp + 0x1a8]
push dword [eax + 4]
push dword [eax]
call fcn.004122a1
mov dword [esp + 0xc], 0
jmp 0x411ad8
push dword [esp + 0xc]
lea ecx, [esp + 0x148]
call fcn.004122e3
and dword [eax], 0
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x411ac1
mov dword [esp + 0xc], 0
jmp 0x411afc
push dword [esp + 0xc]
call fcn.004122e3
mov dword [eax], 0x622ba394
inc dword [esp + 0xc]
lea ecx, [esp + 0xe4]
cmp dword [esp + 0xc], esi
jl 0x411ae9
push 0
call fcn.004122e3
mov dword [eax], esi
mov dword [esp + 0x28], 0xa622a149
dec dword [esp + 0x28]
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x411b3e
call dword [0xa691d4]
push eax
call dword [0xa691c4]
push eax
call dword [0xa6901c]
push 0
lea ecx, [esp + 0xe8]
call fcn.004122e3
dec dword [eax]
jns 0x411b12
lea ecx, [esp + 0x1a4]
call fcn.004122c7
lea ecx, [esp + 0xe4]
call fcn.004122c7
lea ecx, [esp + 0x144]
call fcn.004122c7
lea eax, [esp + 0x40]
push eax
call fcn.0041236b
mov dword [eax], edi
jmp 0x411b86
mov edi, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x411ba4
push 0
push 0
push 0
push 0
call dword [0xa690c8]
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x411bc1
push 0xc5
push 0
push 0
push 0
call dword [0xa690b0]
lea ecx, [esp + 0x8c]
call fcn.00402707
xor eax, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0xc], eax
jmp 0x411be9
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x38], 0xfd5464b5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x411bd9
mov dword [esp + 0xc], eax
jmp 0x411c06
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x6c], 0xa955a63a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x411bf6
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], eax
jl 0x411cfd
mov dword [esp + 0x24], esi
mov dword [esp + 0x24], 0xfffffffc
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x38]
cmp dword [esp + 0x3c], 0xed7c6ae4
jb 0x411c42
mov ecx, dword [esp + 0xc]
cmp dword [esp + ecx*4 + 0x38], eax
je 0x411c4e
mov ecx, dword [esp + 0xc]
cmp dword [esp + ecx*4 + 0x38], eax
mov ecx, esi
jne 0x411c50
mov ecx, eax
mov esi, dword [esp + 0xc]
xor edx, edx
imul esi, ecx
push 0
mov dword [esp + 0x70], esi
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x3c]
cmp ecx, esi
mov ecx, dword [esp + 0x10]
sete dl
mov dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x3c]
cmp dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x3c]
setne dl
cmp ecx, edx
pop ecx
setne cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x20], ecx
setg dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x38]
mov edx, dword [esp + 0x24]
sub edx, ecx
jne 0x411cc6
mov ecx, dword [esp + 0xc]
cmp dword [esp + ecx*4 + 0x38], eax
jne 0x411cc6
mov esi, eax
jmp 0x411cc9
xor esi, esi
inc esi
mov ecx, dword [esp + 0xc]
push 0
mov edx, dword [esp + ecx*4 + 0x3c]
xor ecx, ecx
cmp esi, 0xec1b
setle cl
cmp edx, ecx
mov ecx, dword [esp + 0x10]
pop edx
setne dl
push 1
add edx, dword [esp + ecx*4 + 0x3c]
mov dword [esp + 0x3c], edx
dec dword [esp + 0x10]
pop esi
jns 0x411c1a
test edi, edi
je 0x411f7f
or ecx, 0xffffffff
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0xedf6b3e7
mov dword [esp + 0x24], esi
mov dword [esp + 0x24], 0xf9953e80
mov dword [esp + 0x20], 0x5d732ada
cmp dword [esp + 0x14], eax
jne 0x411d30
mov esi, eax
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp esi, ecx
setl dl
cmp edx, dword [esp + 0x18]
jl 0x411d4c
cmp dword [esp + 0x14], eax
je 0x411d4c
xor esi, esi
inc esi
jmp 0x411d4e
mov esi, eax
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp esi, ecx
push 0
sete dl
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x1c], 0xd228d5fe
mov ecx, dword [esp + 0x18]
sbb edx, edx
neg edx
cmp ecx, edx
pop ecx
setne cl
sub ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x411db4
push eax
push eax
push 0x14b9
call dword [0xa691d4]
push eax
call dword [0xa691cc]
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.004107b4
mov edi, eax
lea ecx, [esp + 0x48]
push 3
mov dword [esp + 0x74], edi
call fcn.004121f5
or eax, 0xffffffff
mov dword [esp + 0xc], 5
mov dword [esp + 0x24], eax
xor eax, eax
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], 0
jmp 0x411e07
push dword [esp + 0x14]
lea ecx, [esp + 0x4c]
call fcn.004122e3
mov dword [eax], 0xff0ea75c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x411df0
mov dword [esp + 0xc], 0
cmp dword [esp + 0xc], 2
jg 0x411f3c
xor edi, edi
inc edi
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x411e3d
push 0
push 0x2027
call dword [0xa690a8]
push dword [esp + 0xc]
lea ecx, [esp + 0x4c]
call fcn.004122e3
cmp dword [eax], 0
jne 0x411e65
push dword [esp + 0xc]
lea ecx, [esp + 0x4c]
call fcn.004122e3
cmp dword [eax], 0
jne 0x411e65
xor eax, eax
jmp 0x411e67
mov eax, edi
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0x411e88
push dword [esp + 0xc]
lea ecx, [esp + 0x4c]
call fcn.004122e3
cmp dword [eax], 0
jne 0x411e88
xor esi, esi
jmp 0x411e8a
mov esi, edi
push dword [esp + 0xc]
lea ecx, [esp + 0x4c]
call fcn.004122e3
mov ecx, dword [esp + 0x44]
push dword [esp + 0xc]
imul ecx, esi
cmp ecx, edi
sbb ecx, ecx
xor edx, edx
neg ecx
test ecx, ecx
lea ecx, [esp + 0x4c]
setg dl
sub edx, dword [eax]
mov dword [esp + 0x24], edx
call fcn.004122e3
mov edx, dword [esp + 0x20]
xor ecx, ecx
push dword [esp + 0xc]
cmp edx, dword [eax]
setle cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4c]
call fcn.004122e3
push dword [esp + 0xc]
lea ecx, [esp + 0x4c]
mov esi, dword [eax]
add esi, dword [esp + 0x24]
call fcn.004122e3
push dword [esp + 0xc]
xor ecx, ecx
cmp dword [eax], 6
setge cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4c]
call fcn.004122e3
xor ecx, ecx
push 0
mov eax, dword [eax]
imul eax, dword [esp + 0x24]
cmp eax, esi
setne cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4c]
call fcn.004122e3
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x411e24
mov edi, dword [esp + 0x70]
mov dword [esp + 0xc], 0
jmp 0x411f61
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x411f5d
push 0x1d7
call dword [0xa69040]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff9
jle 0x411f46
lea ecx, [esp + 0x48]
call fcn.004122c7
lea eax, [esp + 0x64]
push eax
call fcn.00412309
mov dword [eax], edi
xor eax, eax
push 2
mov dword [esp + 0x18], eax
pop esi
jmp 0x411f94
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x5c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x411f88
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x411fac
push eax
call dword [0xa690a4]
mov dword [esp + 0x5c], 0x11
jmp 0x412008
push esi
lea ecx, [esp + 0xdc]
call fcn.004121f5
mov dword [esp + 0x14], 0
jmp 0x411fdd
push dword [esp + 0x14]
call fcn.004122e3
and dword [eax], 0
inc dword [esp + 0x14]
lea ecx, [esp + 0xd8]
cmp dword [esp + 0x14], esi
jl 0x411fcd
xor eax, eax
inc eax
push eax
call fcn.004122e3
lea ecx, [esp + 0xd8]
cmp dword [eax], 0
jne 0x412011
call fcn.004122c7
inc dword [esp + 0x5c]
cmp dword [esp + 0x5c], 0x18
jge 0x411fb6
jmp 0x412016
call fcn.004122c7
mov eax, dword [ebp + 8]
lea esi, [esp + 0x70]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret