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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3c4
mov eax, dword [0x6d63d0]
push ebx
push esi
mov ebx, ecx
push edi
mov edi, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [edi + 1]
mov dword [esp + 0x3cc], eax
movzx eax, word [edi + 0xa]
mov dword [esp + 0x1c], eax
and ecx, 7
cmp eax, 0xffff
mov dword [esp + 0x18], ecx
je case.default.0x626a7b
mov esi, dword [ebx + eax*4 + 0xc58]
test esi, esi
je case.default.0x626a7b
movzx edx, word [edi + 8]
cmp edx, 0x11
ja case.default.0x626a7b
jmp dword [edx*4 + 0x627ce4]
cmp dword [esi + 0x68], ecx
jne case.default.0x626a7b
mov cl, byte [edi + 0xc]
movsx esi, byte [edi + 0xe]
movsx edx, byte [edi + 0xd]
mov eax, dword [ebx + eax*4 + 0xc58]
test cl, cl
setne cl
mov byte [esp + 0x18], cl
movsx ecx, word [edi + 0x10]
movzx edi, word [edi + 0x12]
and byte [eax + 6], 0xfd
cmp ecx, 0xffffffff
push 0
jne 0x626ae3
push edx
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + edx*4 + 0xc58]
push esi
push edi
call fcn.0041b9a0
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x1c]
push eax
push edx
push esi
push ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ebx + ecx*4 + 0xc58]
push edi
call fcn.0041b7c0
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x62c]
test eax, eax
je case.default.0x626a7b
lea edx, [edi + 0xc]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.005f6a80
movss xmm0, dword [edi + 0x10]
movss xmm1, dword [esp + 0x4c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x34], xmm0
movaps xmm0, xmmword [esp + 0x28]
movss dword [esp + 0x28], xmm1
movss xmm1, dword [esp + 0x50]
movss dword [esp + 0x2c], xmm1
movss xmm1, dword [esp + 0x54]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [0x68b4fc]
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x3c]
movss dword [esp + 0x38], xmm1
movaps xmm1, xmmword [esp + 0x2c]
push edx
lea eax, [esp + 0x210]
movaps xmmword [esp + 0x40], xmm0
addps xmm0, xmm1
push eax
movaps xmmword [esp + 0xa4], xmm0
call fcn.005ff7f0
add esp, 0x14
push eax
lea ecx, [esp + 0xa4]
call fcn.004010b0
mov eax, dword [esi + 0x660]
test eax, eax
mov ebx, dword [esi + 0x62c]
lea edi, [esi + 0x63c]
jl 0x626bfd
push 0
push eax
mov ecx, 0x6de358
call fcn.004ae200
mov dword [esp + 0x18], eax
jmp 0x626c05
mov dword [esp + 0x18], 0
mov eax, dword [edi + 0x2c]
test eax, eax
jl 0x626c19
push 0
push eax
mov ecx, 0x6de358
call fcn.004ae200
mov eax, dword [edi + 0x34]
test eax, eax
jl 0x626c33
push 0
push eax
mov ecx, 0x6de358
call fcn.004ae200
mov dword [esp + 0x1c], eax
jmp 0x626c3b
mov dword [esp + 0x1c], 0
movss xmm0, dword [0x68b4fc]
mov ecx, dword [0x68ff04]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x68b500]
push 0
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x20]
movaps xmmword [esp + 0x78], xmm0
movsx edx, word [esi + 0xc]
mov eax, dword [edi + 0x28]
push edx
push edi
push eax
push ecx
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.005bd6f0
add esp, 0x20
push 0x8000
mov ecx, ebx
call fcn.005f0080
test eax, eax
je case.default.0x626a7b
lea ecx, [esp + 0x140]
push ecx
push 0x8000
mov ecx, ebx
call fcn.005f0080
mov ecx, eax
call fcn.0060f0c0
mov edx, dword [edi + 0x38]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x148]
push ecx
push ebx
call fcn.005b9810
add esp, 0x10
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [esi + 0x211]
test al, al
mov edx, dword [edi + 0xc]
mov dword [esp + 0x1c], edx
jne 0x626d2d
mov ecx, esi
call fcn.00402b10
test al, al
jne 0x626d2d
xor bl, bl
jmp 0x626d2f
mov bl, 1
movsx eax, word [esi + 0x9e6]
push eax
call fcn.004c5e20
mov dl, al
xor eax, eax
mov byte [esp + 0x2cc], 0
mov ecx, 0x3f
lea edi, [esp + 0x2cd]
rep stosd dword es:[edi], eax
mov ecx, dword [0x76ba40]
stosw word es:[edi], ax
add esp, 4
test bl, bl
stosb byte es:[edi], al
je 0x626d9e
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4 + 0xb28]
mov ecx, dword [0x74106c]
mov edx, dword [ecx + 0xe9c]
add eax, 8
push eax
push edx
lea eax, [esp + 0x2d0]
push str._s_nby__s
push eax
call fcn.00671a9a
mov eax, 9
jmp 0x626e31
test dl, dl
mov edx, dword [esp + 0x18]
je 0x626dd7
mov eax, dword [ecx + edx*4 + 0xb28]
mov ecx, dword [0x74106c]
mov edx, dword [ecx + 0xea4]
add eax, 8
push eax
push edx
lea eax, [esp + 0x2d0]
push str._s_nby__s
push eax
call fcn.00671a9a
mov eax, 9
jmp 0x626e31
cmp dword [esp + 0x1c], 9
mov eax, dword [ecx + edx*4 + 0xb28]
mov ecx, dword [0x74106c]
jne 0x626e0f
mov edx, dword [ecx + 0xec0]
add eax, 8
push eax
push edx
lea eax, [esp + 0x2d0]
push str._s_nby__s
push eax
call fcn.00671a9a
mov eax, 9
jmp 0x626e31
mov edx, dword [ecx + 0xec8]
add eax, 8
push eax
push edx
lea eax, [esp + 0x2d0]
push str._s_nby__s
push eax
call fcn.00671a9a
mov eax, 0xa
mov cl, byte [esp + 0x2d8]
add esp, 0x10
test cl, cl
je 0x626e54
push 0x5a
push 0
push eax
lea ecx, [esp + 0x2d4]
push ecx
call fcn.004872c0
add esp, 0x10
mov eax, dword [0x76ba40]
mov edx, dword [esi + 0x68]
cmp edx, dword [eax + 0xb18]
jne case.default.0x626a7b
mov ecx, esi
mov dword [esi + 0x1e0], 0
call fcn.00407860
mov eax, dword [esi]
cmp eax, 0x4192c0
jne 0x627100
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0xf08]
and ecx, 0xfffdffff
cmp ebx, 2
mov dword [esi + 4], ecx
jne 0x626ecb
mov ecx, esi
call fcn.00402b40
test al, al
je 0x626ecb
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x626eb9
mov ecx, esi
call fcn.004079c0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xee
jmp 0x6270e7
mov di, word [esi + 0x80]
cmp di, 0xc0
je 0x6270c9
cmp di, 0xbf
je 0x6270c9
cmp di, 0xaf
je 0x6270c9
cmp di, 0xb0
je 0x6270c9
mov ecx, esi
call fcn.00402cd0
test al, al
jne 0x6270c9
mov al, byte [esi + 0xad7]
test al, al
jne 0x627083
cmp ebx, 3
je 0x627083
cmp di, 0xe2
je 0x627032
cmp di, 0xe1
je 0x627032
cmp di, 0xdc
je 0x626fe1
cmp di, 0xdb
je 0x626fe1
cmp di, 0xde
je 0x626fe1
cmp di, 0xdd
je 0x626fe1
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x626f73
mov ecx, esi
call fcn.004079c0
mov eax, dword [esp + 0x1c]
cmp eax, 0x32
ja case.0x626f83.1
movzx ecx, byte [eax + 0x627d3c]
jmp dword [ecx*4 + 0x627d2c]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 2
call fcn.00401930
add esp, 4
neg eax
sbb eax, eax
add eax, 0xc3
push eax
jmp 0x6270e7
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc4
jmp 0x6270e7
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc5
jmp 0x6270e7
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc6
jmp 0x6270e7
mov eax, dword [esi + 0x58]
test eax, eax
je 0x626fef
mov ecx, esi
call fcn.005f0960
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x627000
mov ecx, esi
call fcn.004079c0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xdf
mov ecx, esi
call fcn.0041d590
mov edx, dword [esi + 0x90]
push 0
lea ecx, [esi + 0x8b0]
mov dword [esi + 0xad0], edx
call fcn.00401a50
jmp 0x6271cd
mov eax, dword [esi + 0x58]
test eax, eax
je 0x627040
mov ecx, esi
call fcn.005f0960
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x627051
mov ecx, esi
call fcn.004079c0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xe3
mov ecx, esi
call fcn.0041d590
mov eax, dword [esi + 0x90]
push 0
lea ecx, [esi + 0x8b0]
mov dword [esi + 0xad0], eax
call fcn.00401a50
jmp 0x6271cd
lea ecx, [esp + 0xf0]
push ecx
mov ecx, esi
call fcn.004091c0
push eax
mov ecx, esi
call fcn.00402700
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc7
mov ecx, esi
call fcn.0041d590
mov eax, dword [esi + 4]
or eax, 2
push 0
lea ecx, [esi + 0x8b0]
mov dword [esi + 4], eax
call fcn.00401a50
jmp 0x6271cd
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x6270da
mov ecx, esi
call fcn.004079c0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc1
mov ecx, esi
call fcn.0041d590
push 0
lea ecx, [esi + 0x8b0]
call fcn.00401a50
jmp 0x6271cd
cmp eax, 0x43d5f0
jne 0x62716c
mov al, byte [esi + 9]
cmp al, 0xa
je 0x6271cd
cmp al, 8
je 0x6271cd
mov ecx, esi
call fcn.0042bd40
mov edx, dword [esi + 4]
mov ax, word [esi + 0x80]
and edx, 0xfffdffff
cmp ax, 0x13f
mov dword [esi + 4], edx
je 0x627156
cmp ax, 0x146
je 0x627156
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x144
mov ecx, esi
call fcn.0041d590
jmp 0x6271cd
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x149
mov ecx, esi
call fcn.0041d590
jmp 0x6271cd
cmp eax, 0x42a860
jne 0x6271cd
push 0
lea ecx, [esi + 0x8b0]
call fcn.00401a50
push 1
mov ecx, esi
call fcn.0041f690
cmp dword [esp + 0x1c], 9
push 1
push 0xffffffffffffffff
mov byte [esi + 0x12c0], 0x15
mov ecx, esi
push 0xffffffffffffffff
jne 0x6271ad
push 3
push 0x144
call fcn.0041d590
jmp 0x6271cd
push 0x9b
call fcn.00419f30
neg al
mov ecx, esi
sbb eax, eax
and eax, 0xffffff51
add eax, 0x14a
push eax
call fcn.0041b9a0
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x1d8]
or edx, 0x20000000
test eax, eax
mov dword [esi + 4], edx
je case.default.0x626a7b
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x5a25
lea ecx, [esp + 0x1e4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + eax*4 + 0xc58]
mov byte [edx + 9], 6
mov ecx, dword [ebx + eax*4 + 0xc58]
mov dword [ecx + 0x224], 0
mov edx, dword [ebx + eax*4 + 0xc58]
cmp word [edx + 0x80], 0x121
je case.default.0x626a7b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + eax*4 + 0xc58]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x121
call fcn.0041d590
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [0x6d13b8], eax
mov eax, dword [ebx + ecx*4 + 0xb28]
test eax, eax
je case.default.0x626a7b
mov eax, dword [eax + 0x3c]
test eax, eax
je case.default.0x626a7b
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x14]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x24]
mov esi, dword [ebx + edx*4 + 0xc58]
push ecx
push eax
mov eax, dword [edi + 0xc]
call fcn.006262b0
add esp, 0x10
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0xc]
mov ebx, dword [ebx + eax*4 + 0xc58]
test ebx, ebx
je case.default.0x626a7b
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
push ecx
push edx
push eax
mov eax, dword [edi + 0x10]
push ebx
call fcn.006262b0
add esp, 0x10
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
cmp eax, 0x4192c0
jne 0x6273ee
mov ebx, dword [edi + 0xc]
mov edi, dword [esi + 4]
test edi, 0x20000000
mov ecx, esi
je 0x627382
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xc4
call fcn.0041d590
jmp 0x627458
call fcn.00402a50
test al, al
jne 0x6273c9
test ebx, ebx
jne 0x6273c9
mov eax, dword [esi + 0x20c]
fld dword [eax + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
je 0x6273b0
test edi, 0x60000000
je 0x6273c9
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0xba
mov ecx, esi
call fcn.0041d590
jmp 0x627458
mov ecx, dword [esi + 0x8b0]
push 0
neg ecx
push 0xffffffffffffffff
sbb ecx, ecx
push 0xffffffffffffffff
and ecx, 0x28
add ecx, 0xac
push 3
push ecx
mov ecx, esi
call fcn.0041d590
jmp 0x627458
cmp eax, 0x42a860
jne 0x62744a
cmp word [esi + 0x80], 0x85
mov ecx, esi
jne 0x627436
lea edx, [esp + 0xe0]
push edx
push 0x1f
call fcn.005ef7a0
mov ecx, eax
call fcn.005efd30
push eax
mov ecx, esi
call fcn.00401bc0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x9e
mov ecx, esi
call fcn.0041d590
jmp 0x627458
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0xa2
call fcn.0041d590
jmp 0x627458
cmp eax, 0x43d5f0
jne 0x627458
and dword [esi + 4], 0xfffffeff
and dword [esi + 4], 0xfffffeff
mov dword [esi + 0x1f0], 0
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [esi + 0x1e4]
mov eax, dword [edi + 0xc]
mov eax, dword [ebx + eax*4 + 0xb3c]
movaps xmm0, xmmword [esi + 0x30]
add esi, 0x30
test eax, eax
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x18], eax
je case.default.0x626a7b
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + esi*4 + 0xc58]
mov dword [ecx + 0x224], eax
mov ecx, dword [ebx + esi*4 + 0xc58]
and dword [ecx + 4], 0xffffff7f
mov ecx, dword [eax + 0x70]
movzx eax, word [eax + 0x1ee]
xor edx, edx
mov dx, word [edi + 0x10]
and edx, 0x7ff
or edx, 0x8000
push edx
push eax
call fcn.00401db0
push eax
lea ecx, [esp + 0x284]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004020f0
mov ecx, dword [ebx + esi*4 + 0xc58]
push eax
add ecx, 0x10
call fcn.004010b0
mov edx, dword [ebx + esi*4 + 0xc58]
mov ecx, dword [esp + 0x18]
push edx
call fcn.005ef6a0
mov eax, dword [ebx + esi*4 + 0xc58]
push eax
call fcn.004025a0
add esp, 4
test al, al
je 0x627546
mov eax, dword [ebx + esi*4 + 0xc58]
and dword [eax + 4], 0xffffffdf
mov eax, dword [esp + 0x18]
or dword [eax + 4], 0x20
jmp 0x62754a
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x21e]
neg cl
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
sbb ecx, ecx
and ecx, 0x19
inc ecx
push ecx
mov ecx, dword [ebx + esi*4 + 0xc58]
call fcn.0041b9a0
mov ecx, dword [ebx + esi*4 + 0xc58]
push 0x3f800000
call fcn.004c6dd0
mov edx, dword [esp + 0x18]
mov al, byte [edx + 0x21e]
test al, al
jne 0x6275be
cmp dword [edi + 0x10], 0x78
je 0x6275be
mov eax, dword [ebx + esi*4 + 0xc58]
mov ecx, dword [eax + 0x1e4]
movaps xmm0, xmmword [eax + 0x40]
movaps xmm1, xmmword [ecx + 0x40]
mov ecx, dword [ebx + esi*4 + 0xc58]
lea eax, [esp + 0x30]
subps xmm0, xmm1
push eax
movaps xmmword [esp + 0x34], xmm0
call fcn.00401bc0
movaps xmm1, xmmword [esp + 0x20]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x50]
mov dword [esp + 0x18], 0
movss xmm0, dword [ecx]
push edx
lea eax, [esp + 0x244]
unpcklps xmm0, xmm1
shufps xmm0, xmm1, 0xe1
push eax
movaps xmmword [esp + 0x58], xmm0
call fcn.005ff310
mov ecx, dword [ebx + esi*4 + 0xc58]
mov ecx, dword [ecx + 0x1e4]
movaps xmm0, xmmword [eax]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [ecx + 0x30], xmm0
mov eax, dword [ebx + esi*4 + 0xc58]
movaps xmm2, xmmword [eax + 0x30]
movaps xmm4, xmmword [eax + 0x40]
add ecx, 0x10
mov ecx, dword [eax + 0x1e4]
movaps xmm0, xmmword [ecx + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm2, xmm1
movaps xmm1, xmmword [eax + 0x20]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
mulps xmm1, xmm3
addps xmm1, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [eax + 0x10]
add eax, 0x610
mulps xmm0, xmm2
addps xmm0, xmm1
addps xmm0, xmm4
movaps xmmword [eax], xmm0
mov edx, dword [ebx + esi*4 + 0xc58]
mov eax, dword [edx + 0x224]
mov eax, dword [eax + 0x2a8]
add esp, 8
test eax, eax
je case.default.0x626a7b
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 5
lea ecx, [esp + 0x144]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [esi + 0x224]
test edi, edi
je case.default.0x626a7b
push esi
call fcn.004025a0
add esp, 4
test al, al
je 0x62770e
and dword [edi + 4], 0xffffffdf
or dword [esi + 4], 0x20
mov ecx, dword [esi + 0x224]
mov eax, dword [ecx + 0x2a8]
test eax, eax
je 0x62776c
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 5
lea ecx, [esp + 0x1c4]
mov dword [eax], 1
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
mov ecx, esi
call fcn.005f0960
mov edi, dword [esi + 4]
push 0
or edi, 0x80
push 0
mov ecx, esi
mov dword [esi + 0x224], 0
mov dword [esi + 4], edi
call fcn.005ef940
and dword [esi + 4], 0xfffdfffd
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movss xmm0, dword [0x68b4fc]
mov edx, dword [edi + 0xc]
movzx ebx, byte [edi + 0xf]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x2c], xmm0
movaps xmm3, xmmword [esp + 0x20]
add esi, 0x63c
and edx, 0xffff
mov dword [esi + 0x18], edx
movss xmm2, dword [edi + 0x10]
mov eax, dword [0x76ba40]
test eax, eax
movss dword [esp + 0x20], xmm2
movss xmm2, dword [edi + 0x14]
movss dword [esp + 0x24], xmm2
movss xmm2, dword [edi + 0x18]
movss dword [esp + 0x28], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmmword [esp + 0x20]
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x39
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x39
movaps xmm5, xmm2
movaps xmm4, xmm1
unpckhps xmm5, xmm3
shufps xmm4, xmm1, 0x39
shufps xmm2, xmm5, 0xc4
movaps xmmword [esp + 0x30], xmm3
movaps xmmword [esp + 0xa0], xmm4
movaps xmmword [esp + 0xb0], xmm1
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm2
je case.default.0x626a7b
mov ecx, dword [eax + ebx*4 + 0xb64]
test ecx, ecx
je 0x6278af
call fcn.005f1090
mov eax, dword [0x76ba40]
movaps xmm3, xmmword [esp + 0x30]
mov dword [eax + ebx*4 + 0xb64], 0
push 0
push esi
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xac]
push edx
movaps xmmword [esp + 0x70], xmm3
call fcn.005bb190
mov ecx, dword [0x76ba40]
mov dword [ecx + ebx*4 + 0xb64], eax
mov edx, dword [0x76ba40]
mov eax, dword [edx + ebx*4 + 0xb64]
add esp, 0x10
test eax, eax
je case.default.0x626a7b
mov dword [eax + 0x10c], ebx
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [esi + 0x590]
cmp edi, 1
je 0x62791e
test edi, edi
jne case.default.0x626a7b
mov eax, edi
sub eax, 0
je 0x627931
dec eax
jne 0x627938
mov ecx, esi
call fcn.0041bbb0
jmp 0x627938
mov ecx, esi
call fcn.00405360
mov eax, dword [esi + 0x20c]
cmp eax, dword [0x6f2258]
lea ecx, [esi + 0x20c]
je 0x62795d
push 0
call fcn.00401a50
mov dword [esi + 0xadc], 0
mov ecx, esi
call fcn.0042afc0
mov eax, dword [esi + 0x1d8]
test eax, eax
mov dword [esi], 0x43d5f0
je 0x627b6f
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, dword [esi + 0x590]
mov ecx, esp
mov dword [ecx], eax
push ecx
lea ecx, [esp + 0x19c]
jmp 0x627b59
mov edi, dword [esi + 0x590]
cmp edi, 2
je 0x6279c8
test edi, edi
jne case.default.0x626a7b
mov eax, edi
sub eax, 0
je 0x6279dd
sub eax, 2
jne 0x6279e4
mov ecx, esi
call fcn.0042a880
jmp 0x6279e4
mov ecx, esi
call fcn.00405360
mov ecx, esi
call fcn.0041d680
mov dword [esi], 0x42a860
mov eax, dword [0x6f2234]
mov ecx, dword [eax + 0x350]
test ecx, ecx
jne 0x627a2a
mov al, byte [esi + 0xa08]
test al, al
jne 0x627a2a
movsx ecx, word [esi + 0x9e6]
push ecx
call fcn.004c5cd0
add esp, 4
test al, al
mov ecx, esi
push 1
je 0x627a26
push 6
jmp 0x627a35
push 5
jmp 0x627a35
mov edx, dword [esi + 0xa04]
push 1
push edx
mov ecx, esi
call fcn.0041d7f0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xf
call fcn.005f2010
shl eax, 1
not al
mov ecx, esi
and eax, 2
or eax, 0x59
push eax
call fcn.0041d590
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x627b6f
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, dword [esi + 0x590]
mov ecx, esp
mov dword [ecx], eax
push ecx
lea ecx, [esp + 0x1fc]
jmp 0x627b59
mov edi, dword [esi + 0x590]
cmp edi, 2
je 0x627ab8
cmp edi, 1
jne case.default.0x626a7b
cmp byte [esi + 0xa08], 1
jne 0x627ac8
mov byte [esi + 0xa08], 2
mov eax, edi
dec eax
je 0x627ad9
dec eax
jne 0x627ae0
mov ecx, esi
call fcn.0042a880
jmp 0x627ae0
mov ecx, esi
call fcn.0041bbb0
cmp byte [esi + 9], 2
setne al
dec al
and al, 0xfb
add al, 0x22
cmp word [esi + 0x5a4], 0xffff
mov byte [esi + 9], al
jne 0x627b03
mov word [esi + 0x5a4], 4
mov ecx, esi
call fcn.00404420
mov eax, dword [esi + 0x1d8]
test eax, eax
mov byte [esi + 0x208], 1
mov dword [esi], 0x4192c0
je 0x627b6f
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, dword [esi + 0x590]
mov ecx, esp
mov dword [ecx], eax
push ecx
lea ecx, [esp + 0x11c]
mov eax, esp
push esi
push 0x5a02
mov dword [eax], edi
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
mov byte [esi + 0x204], 1
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x1c]
push edi
push ecx
mov ecx, ebx
call fcn.00622b10
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x3f800000
push 1
push 0x3ecccccd
push 0x42f00000
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x2c], 0
movss xmm0, dword [esp + 0x2c]
shufps xmm0, xmm0, 0
push 0x14
mov ecx, esi
movaps xmmword [esp + 0x98], xmm0
call fcn.005ef7a0
push eax
call fcn.0059eaa0
add esp, 0x18
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx eax, word [edi + 0xc]
movss xmm0, dword [edi + 0x10]
mov ecx, dword [esp + 0x18]
push eax
movzx eax, word [edi + 0xe]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0x14]
push ecx
mov ecx, dword [0x76ba40]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [0x68b4fc]
push 0
lea edx, [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movaps xmm0, xmmword [esp + 0x2c]
push edx
push eax
movaps xmmword [esp + 0x44], xmm0
call fcn.006228c0
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
mov dword [esi + 0x1e0], 0
call fcn.0042bd40
mov ebx, dword [esi + 4]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
or ebx, 0x20000000
push 0x142
mov ecx, esi
mov dword [esi + 4], ebx
call fcn.0041b9a0
xor al, al
mov ecx, dword [esp + 0x3cc]
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov cx, word [edi + 0xc]
mov word [esi + 0xc], cx
mov ecx, dword [esp + 0x3cc]
xor al, al
call fcn.00671b23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4