Function at 0x422b2b
Capabilities:
Inspect section memory permissions

Disassembly:
push 0x140
mov eax, 0x4b9a9a
call fcn.00490916
mov dword [ebp - 0xd4], ecx
movss xmm0, dword [ebp + 0x20]
lea esi, [ebp + 0x20]
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x114]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
movsd dword es:[edi], dword [esi]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp + 0x1c]
mov dword [ebp - 0xc0], eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xb0], edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
comiss xmm0, dword [ebp - 0x108]
jbe 0x422b8b
movss dword [ebp - 0x108], xmm0
mov eax, dword [ecx]
lea edx, [ebp - 0x124]
push edx
call dword [eax + 8]
mov edi, dword [ebp - 0xb0]
lea ecx, [ebp - 0x12c]
mov eax, dword [edi + 0x14]
add eax, 0xa10
push eax
call fcn.0044df8f
mov eax, dword [edi + 0xe4]
xor esi, esi
mov ecx, dword [edi + 0xe0]
sub eax, ecx
cdq
mov dword [ebp - 0xf4], 0x18
idiv dword [ebp - 0xf4]
and dword [ebp - 4], 0
mov dword [ebp - 0xec], esi
test eax, eax
je 0x42390f
imul edx, esi, 0x18
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + ecx + 8]
test eax, eax
jle 0x4238eb
movss xmm1, dword [ebp - 0xf0]
xor esi, esi
movd xmm0, eax
inc esi
mov eax, dword [edx + ecx]
movss dword [ebp - 0x114], xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [ebp - 0xf0], xmm1
movss dword [ebp - 0x10c], xmm1
cmp eax, esi
je 0x422cb2
test dword [edx + ecx + 0xc], 0xfe000000
je 0x422c67
cvttss2si eax, dword [ebp - 0x120]
xor ecx, ecx
inc ecx
test cl, al
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0xd4]
je 0x422c61
mov eax, dword [eax + 4]
jmp 0x422c64
mov eax, dword [eax + 8]
push eax
jmp 0x422cc6
dec eax
sub eax, 1
je 0x422c95
sub eax, 1
je 0x422c8a
push 3
pop esi
sub eax, esi
je 0x422c84
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0xa00]
jmp 0x422c9e
mov eax, dword [edx + ecx + 4]
jmp 0x422c9e
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x9b0]
jmp 0x422c9e
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x9b4]
mov ecx, dword [ebp - 0xc0]
push eax
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ebp - 0xc0]
jmp 0x422cc6
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [edi + 0x14]
push dword [eax + 0xa00]
sub esp, 0x10
lea esi, [ebp - 0x114]
mov edi, esp
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 edx
movss xmm0, dword [ebp + 0x24]
addss xmm0, dword [ebp - 0x120]
mov edi, dword [ebp - 0xb0]
cvttss2si eax, xmm0
lea ecx, [edi + 0x48]
mov dword [ebp - 0xe8], ecx
cdq
idiv dword [ecx]
mov esi, eax
mov eax, dword [ebp - 0xa8]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 0xd0], 0
lea edx, [esi + eax]
mov eax, dword [ecx]
cvttss2si ecx, dword [ebp - 0x120]
mov dword [ebp - 0xac], edx
imul eax, esi
sub eax, ecx
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0xe0]
add eax, dword [ebp - 0xc8]
test dword [eax + 0xc], 0xfe000000
je 0x422e55
mov ecx, dword [ebp - 0xa8]
push edx
mov edi, dword [ecx + 0x298]
mov ecx, dword [ecx + 0x284]
add edi, 4
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
push eax
push edi
call esi
mov dword [ebp - 0xbc], eax
test eax, 0x1000
je 0x422df0
mov esi, dword [ebp - 0xa8]
push dword [ebp - 0xac]
mov ecx, dword [esi + 0x284]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [ebp - 0xbc]
mov edi, eax
mov eax, ecx
test edi, edi
jle 0x422dc9
test eax, 0x1000
je 0x422dc3
mov ecx, dword [esi + 0x298]
dec edi
add ecx, 4
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test edi, edi
jg 0x422da7
mov ecx, dword [ebp - 0xbc]
test eax, 0x2000
jne 0x422df0
mov edx, 0xfff
and eax, edx
and ecx, edx
mov edx, dword [ebp - 0xd0]
cmp ecx, eax
push 1
movzx edx, dl
pop eax
cmovb edx, eax
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x1c], 0
je 0x422e4f
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ecx + 0x284]
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, dword [ebp + 0xc]
mov ecx, edi
push eax
call esi
lea esi, [eax + 1]
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax + 0x298]
lea ecx, [eax + 0x238]
call fcn.00451f08
push eax
mov ecx, edi
call fcn.00444f56
mov edx, dword [ebp - 0xd4]
mov ecx, edi
push esi
add edx, 0xc
push eax
push edx
call fcn.0044075e
mov edi, dword [ebp - 0xb0]
push edi
push 0x1f
push 0x1a
call fcn.00427d8e
push edi
push 0x1e
push 0x19
mov dword [ebp - 0x118], eax
call fcn.00427d8e
mov esi, dword [ebp - 0xa8]
add esp, 0x18
mov dword [ebp - 0x11c], eax
mov ecx, dword [esi + 0x284]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov edx, dword [ebp - 0xac]
cmp edx, eax
jge 0x4238e5
movd xmm1, dword [ebp - 0xe4]
movss xmm0, dword [ebp + 0x1c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4238e5
mov ecx, dword [esi + 0x284]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esi + 0x284]
push eax
mov dword [ebp - 0xc4], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
mov ecx, dword [esi + 0x284]
push dword [ebp - 0xc4]
mov dword [ebp - 0xdc], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
call edx
push dword [ebp - 0xc4]
mov ecx, dword [esi + 0x298]
mov dword [ebp - 0xe0], eax
call fcn.00440b3a
mov edx, dword [ebp - 0xac]
xor esi, esi
cmp edx, dword [ebp - 0xdc]
mov byte [ebp - 0xb1], 0
cmove esi, eax
mov eax, dword [edi + 0xe0]
add eax, dword [ebp - 0xc8]
mov ecx, esi
mov dword [ebp - 0xb8], ecx
test dword [eax + 0xc], 0xfe000000
je 0x423144
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xc4]
mov ecx, dword [eax + 0x298]
add ecx, 4
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax + 0x298]
mov eax, dword [ebp - 0xc4]
add edx, 4
inc eax
push eax
push edx
mov ecx, dword [edx]
mov dword [ebp - 0xcc], eax
call dword [ecx + 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0xbc]
mov edx, eax
mov dword [ebp - 0xd8], ecx
and edx, 0xfff
and ecx, 0xfff
mov dword [ebp - 0xbc], edx
test eax, 0x2000
je 0x42314f
mov eax, dword [ebp - 0xdc]
cmp dword [ebp - 0xac], eax
jne 0x423019
cmp edx, ecx
jae 0x423049
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xc4]
mov ecx, dword [eax + 0x284]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
test al, al
mov ecx, esi
mov eax, 0x400
je 0x423001
cmp dword [ebp - 0xbc], eax
jne 0x422ff6
or ecx, 0x80000000
jmp 0x423062
mov eax, dword [ebp - 0x118]
bts ecx, eax
jmp 0x423062
cmp dword [ebp - 0xbc], eax
jne 0x423011
or ecx, 0x40000000
jmp 0x423062
mov eax, dword [ebp - 0x11c]
jmp 0x422ffc
cmp edx, ecx
jae 0x423049
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xc4]
mov ecx, dword [eax + 0x284]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, esi
test al, al
jne 0x42305c
mov eax, 0x400
cmp dword [ebp - 0xbc], eax
jmp 0x423052
mov eax, 0x400
mov ecx, esi
cmp edx, eax
mov dword [ebp - 0xb8], ecx
jbe 0x423068
mov ecx, esi
or ecx, 0x20000000
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xcc]
mov byte [ebp - 0xd0], 0
mov edi, dword [eax + 0x284]
mov ecx, edi
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, edi
call esi
mov edi, dword [ebp - 0xa8]
push eax
mov dword [ebp - 0xd8], eax
mov edx, dword [edi + 0x298]
add edx, 4
push edx
mov ecx, dword [edx]
call dword [ecx + 0x1c]
mov esi, dword [edi + 0x298]
add esi, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0xd8]
inc ecx
push ecx
push esi
call edx
mov ecx, dword [edi + 0x284]
mov esi, eax
push dword [ebp - 0xc4]
and esi, 0xfff
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
call edx
test al, al
jne 0x423211
test dword [ebp - 0xcc], 0x1000
je 0x423117
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0xbc], esi
push 1
movzx eax, al
pop ecx
cmova eax, ecx
mov byte [ebp - 0xd0], al
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xd8]
lea ecx, [ecx + 0xc]
call fcn.0041efb3
mov edi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
test al, al
je 0x423144
xor eax, eax
inc eax
mov byte [ebp - 0xb1], al
mov eax, dword [ebp - 0xb8]
jmp 0x423223
test eax, 0x1000
je 0x4231c0
cmp byte [ebp - 0xd0], 0
je 0x423195
test dword [ebp - 0xd8], 0x1000
je 0x423172
mov ecx, 0x20000000
jmp 0x42318c
mov eax, 0x400
mov byte [ebp - 0xd0], 0
cmp ecx, eax
mov ecx, 0x8000000
ja 0x42318c
mov ecx, 0x10000000
mov eax, esi
or eax, ecx
jmp 0x42321d
mov eax, esi
cmp edx, 0x400
jbe 0x42321d
cmp ecx, edx
mov edx, dword [ebp - 0xac]
jae 0x4231ff
mov eax, 0x400
cmp eax, ecx
sbb eax, eax
and eax, 0xf8000000
add eax, 0x10000000
or eax, esi
jmp 0x423223
mov eax, esi
cmp edx, 0x400
jbe 0x42321d
cmp ecx, edx
jae 0x423208
test dword [ebp - 0xd8], 0x1000
mov edx, dword [ebp - 0xac]
mov byte [ebp - 0xd0], 0
je 0x4231f7
xor ecx, ecx
or eax, 0x20000000
inc ecx
mov byte [ebp - 0xd0], cl
jmp 0x423223
cmp edx, dword [ebp - 0xe0]
je 0x4231a9
mov eax, esi
or eax, 0x20000000
jmp 0x423223
mov eax, esi
or eax, 0x20000000
jmp 0x42321d
mov eax, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov ecx, dword [edi + 0xe0]
lea edi, [ebp - 0x104]
mov esi, dword [ebp - 0xc8]
and eax, dword [ecx + esi + 0xc]
lea esi, [ebp - 0x114]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe8]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xe4]
add eax, esi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x100], xmm0
movd xmm0, eax
mov eax, dword [ebp - 0xc8]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xf8], xmm0
mov eax, dword [ecx + eax]
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x42358b
cmp edx, dword [ebp - 0xdc]
jne 0x4234f7
xor eax, eax
lea edi, [ebp - 0x8c]
stosd dword es:[edi], eax
push 0xf
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], esi
mov byte [ebp - 0x8c], 0
mov edi, dword [ebp - 0xc4]
mov byte [ebp - 4], cl
test edi, edi
js 0x42334e
lea eax, [edi + 1]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.004136eb
mov eax, dword [ebp - 0x78]
pop ecx
pop ecx
cmp eax, 0x10
jb 0x423323
mov ecx, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xbc], ecx
cmp eax, 0x1000
jb 0x42331a
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.004062e4
mov eax, dword [ebp - 0xd8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xbc]
push eax
push ecx
call fcn.0049058f
pop ecx
pop ecx
and dword [ebp - 0x7c], 0
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x78], esi
mov byte [ebp - 0x8c], 0
call fcn.004072ce
lea ecx, [ebp - 0xa4]
call fcn.00407414
mov esi, dword [ebp - 0xa8]
test byte [esi + 0x278], 0xc0
je 0x423404
push 0x63
lea eax, [ebp - 0x73]
mov byte [ebp - 0x74], 0
push 0
push eax
call fcn.004927e0
mov ecx, dword [esi + 0x298]
add esp, 0xc
push 4
pop eax
add ecx, eax
test byte [esi + 0x278], 0x40
push edi
push ecx
mov eax, dword [ecx]
je 0x4233d0
call dword [eax + 0x1c]
mov ecx, eax
mov edx, eax
sar ecx, 0x10
and edx, 0xfff
push ecx
mov ecx, eax
and eax, 0x2000
shr ecx, 9
not cl
and ecx, 8
or ecx, 0x57
neg eax
push edx
sbb eax, eax
and eax, 0xffffffe9
push ecx
add eax, 0x5f
push eax
lea eax, [ebp - 0x74]
push str._c_c__03X__03X
push eax
call fcn.0040bc76
add esp, 0x18
jmp 0x4233e5
call dword [eax + 0x24]
push eax
lea eax, [ebp - 0x74]
push 0x4c606c
push eax
call fcn.0040bc76
add esp, 0xc
lea ecx, [ebp - 0x74]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4233eb
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x8c]
call fcn.004076b1
mov ecx, dword [ebp - 0xc0]
lea esi, [ebp - 0x104]
cmp dword [ebp - 0x78], 0x10
lea edi, [ebp - 0x14c]
push dword [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x12c]
push eax
movsd dword es:[edi], dword [esi]
call dword [ebp - 0xcc]
mov edx, dword [ebp - 0xb0]
lea ecx, [ebp - 0x8c]
movss xmm1, dword [ebp - 0x144]
lea esi, [ebp - 0x14c]
cmp dword [ebp - 0x78], 0x10
fstp dword [ebp - 0xcc]
movd xmm0, dword [edx + 0x174]
subss xmm1, dword [ebp - 0xcc]
mov eax, dword [edx + 0x50]
cmovae ecx, dword [ebp - 0x8c]
cvtdq2ps xmm0, xmm0
push 0x1ff
push dword [ebp - 0x7c]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
push ecx
movss dword [ebp - 0x14c], xmm1
addsd xmm0, qword [eax*8 + 0x4bf570]
mov eax, dword [edx + 0x14]
add eax, 0x9cc
cvtpd2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x148]
movss dword [esp], xmm0
push eax
sub esp, 0x10
mov edi, esp
push dword [ebp - 0xc0]
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.0043e290
add esp, 0x28
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.00407414
jmp 0x423760
mov edi, dword [ebp - 0xb0]
test byte [edi + 0x184], 4
je 0x423766
mov ecx, dword [ebp - 0xd4]
lea esi, [ebp - 0x104]
mov edx, dword [ebp - 0xb0]
lea edi, [ebp - 0x13c]
movss xmm1, dword [ebp - 0xfc]
movsd dword es:[edi], dword [esi]
movd xmm0, dword [ecx + 0x20]
mov eax, dword [edx + 0x14]
cvtdq2ps xmm0, xmm0
movsd dword es:[edi], dword [esi]
mov ecx, dword [ecx + 0x24]
movsd dword es:[edi], dword [esi]
subss xmm1, xmm0
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x13c]
movss dword [ebp - 0x134], xmm1
subss xmm1, dword [eax + 0x9f0]
mov eax, dword [eax + 0x9fc]
push eax
push 0
sub esp, 0x10
movss dword [ebp - 0x13c], xmm1
mov edi, esp
push dword [ebp - 0xc0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test ecx, ecx
jne 0x423587
call fcn.0041bb93
add esp, 0x1c
jmp 0x423760
call ecx
jmp 0x42357f
push 4
pop ecx
cmp eax, ecx
je 0x42359b
cmp eax, 5
jne 0x423760
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0xa0]
push dword [ebp - 0xc4]
push eax
mov ecx, dword [esi + 0x298]
call fcn.00442ec3
cmp dword [ebp - 0x9c], 0
mov edi, dword [ebp - 0xb0]
je 0x42376c
lea eax, [ebp - 0xa0]
push eax
push dword [edi + 0x140]
push edi
call fcn.00446557
add esp, 0xc
test al, al
je 0x42376c
mov eax, dword [ebp - 0xdc]
cmp dword [ebp - 0xac], eax
jne 0x4236e7
cmp byte [ebp - 0x98], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xcc], eax
je 0x423621
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax]
jmp 0x423627
mov ecx, dword [ebp - 0x94]
mov eax, dword [edi + 0x140]
lea esi, [ebp - 0x104]
add eax, ecx
imul ecx, eax, 0x4c
mov eax, dword [edi + 0x14]
push dword [ecx + eax + 0x34]
mov ecx, edx
sub esp, 0x10
mov edi, esp
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 dword [ebp - 0xcc]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xe0]
cmp dword [ecx + eax], 5
jne 0x4236a7
lea eax, [ebp - 0xa0]
push eax
push dword [edx + 0x140]
push edx
push dword [ebp - 0xc0]
call fcn.00446669
movss xmm1, dword [ebp - 0xfc]
add esp, 0x10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [0x4c60dc]
movss dword [ebp - 0x104], xmm1
push 0x1ff
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa0]
push 0
push eax
sub esp, 0x10
lea esi, [ebp - 0x104]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb0]
push dword [edi + 0x140]
push edi
push dword [ebp - 0xc0]
call fcn.0043df1f
add esp, 0x2c
jmp 0x423766
push dword [ebp - 0xc4]
mov ecx, dword [esi + 0x298]
call fcn.00438645
test eax, eax
je 0x42376c
mov ecx, dword [ebp - 0xe0]
sub ecx, eax
cmp dword [ebp - 0xac], ecx
jle 0x42376c
cmp byte [ebp - 0x98], 0
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xcc], eax
je 0x423731
mov eax, dword [ebp - 0x90]
movzx ecx, byte [eax]
jmp 0x423737
mov ecx, dword [ebp - 0x94]
mov eax, dword [edi + 0x140]
lea esi, [ebp - 0x104]
add eax, ecx
imul ecx, eax, 0x4c
mov eax, dword [edi + 0x14]
push dword [ecx + eax + 0x34]
mov ecx, edx
sub esp, 0x10
mov edi, esp
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 dword [ebp - 0xcc]
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x4238bb
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
test eax, eax
je 0x4238bb
xor edx, edx
inc edx
test dl, al
je 0x42389e
mov eax, dword [edi + 0xe0]
xor ecx, ecx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xe0], ecx
test dword [eax + edx + 0xc], 0xfe000000
je 0x423866
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xc4]
add ecx, 0xc
call fcn.0041efb3
test al, al
je 0x42385a
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xc4]
lea ecx, [ecx + 0xc]
call fcn.0041ef95
test al, al
je 0x4237f0
push 2
pop ecx
jmp 0x423860
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc4]
cmp dword [ecx + 0xc], edx
jne 0x423845
cmp edx, dword [ecx + 0x10]
jge 0x423845
mov eax, dword [ebp - 0xdc]
cmp dword [ebp - 0xac], eax
jne 0x423827
xor eax, eax
cmp byte [ebp - 0xb1], al
push 4
lea ecx, [eax + 1]
pop eax
cmovne ecx, eax
jmp 0x423860
mov ecx, dword [esi + 0x284]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
test al, al
jne 0x4237eb
cmp byte [ebp - 0xb1], al
jne 0x4237eb
xor ecx, ecx
jmp 0x423860
push edx
lea ecx, [ecx + 0xc]
call fcn.0041f026
mov ecx, dword [ebp - 0xe0]
test al, al
push 3
jmp 0x423821
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edi + 0xe0]
push dword [eax + edx]
lea eax, [ebp - 0x12c]
push ecx
mov ecx, dword [edi + 0x24]
add ecx, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0xc0]
call fcn.0041a67d
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
add ecx, 0x24
sar eax, 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xbc], ecx
cmp ecx, 0x480
jl 0x423782
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe4]
inc dword [ebp - 0xac]
add eax, dword [ecx]
mov ecx, dword [esi + 0x284]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x422e89
mov esi, dword [ebp - 0xec]
mov eax, dword [edi + 0xe4]
inc esi
mov ecx, dword [edi + 0xe0]
sub eax, ecx
cdq
idiv dword [ebp - 0xf4]
mov dword [ebp - 0xec], esi
cmp esi, eax
jb 0x422be4
mov edx, dword [ebp - 0xb0]
lea esi, [ebp + 0x20]
movss xmm0, dword [ebp - 0xf0]
lea edi, [ebp - 0x13c]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x14]
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx]
push dword [eax + 0x9b4]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
movss dword [ebp - 0x13c], xmm0
lea esi, [ebp - 0x13c]
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 dword [edx + 0x38]
lea ecx, [ebp - 0x12c]
call fcn.0044eab4
call fcn.004908c5
ret 0x30