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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
mov esi, esp
mov dword [esi + 0x158], ebp
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x160]
mov dword [ecx - 4], esp
mov dword [ecx + 8], 0xffffffff
mov dword [ecx + 4], 0x4a0910
mov edx, dword fs:[0]
mov dword [ecx], edx
mov dword fs:[0], ecx
cmp eax, 0xc9
jl 0x475625
mov edx, dword [0x4a80a0]
mov ecx, dword [0x4a80a4]
lea eax, [edx + 1]
mov dword [esi + 0x18], edx
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete byte [esi + 0x78]
mov dword [esi + 0x14], ecx
cmp ecx, 0xa
setl byte [esi + 0x90]
mov edx, 0xe0578a93
cmp edx, 0xd5f9d9fe
jle 0x475344
cmp edx, 0x508cc6b6
jle 0x4753a0
cmp edx, 0x62fceb1b
je 0x47556b
cmp edx, 0x73d88bc9
jne 0x4755f0
mov edx, 0xbed6d10b
jmp 0x475315
cmp edx, 0x97350492
jg 0x4753e3
cmp edx, 0x820b137d
je 0x47546e
cmp edx, 0x85ce9419
jne 0x475315
lea eax, [esi + 0xd0]
mov dword [esi + 0xf8], eax
mov ecx, 0x721c75b2
mov edx, 0x5a02f43
mov edi, 0xc26496ca
mov eax, dword [esi + 0xf8]
cmp edi, 0x612edd73
je 0x4754e4
cmp edi, 0xc26496ca
jne 0x475385
mov edi, 0x612edd73
jmp 0x475385
cmp edx, 0xd5f9d9ff
je 0x475434
cmp edx, 0xe0578a93
jne 0x475315
mov al, byte [esi + 0x78]
mov dl, byte [esi + 0x90]
mov ah, al
xor ah, dl
mov edi, 0x97350493
mov ebx, 0x85ce9419
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x475315
cmp edx, 0x97350493
je 0x475478
cmp edx, 0xbed6d10b
jne 0x475315
mov ecx, dword [esi + 0x18]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
mov ecx, dword [esi + 0x14]
cmp ecx, 0xa
setl dh
xor dh, dl
mov edi, 0xd5f9d9ff
mov ebx, 0x62fceb1b
cmovne edi, ebx
cmp eax, 0xffffffff
mov edx, edi
cmove edx, ebx
jmp 0x4755e5
mov edx, 0x2c201751
mov edi, 0xc9412770
mov eax, 0xc26496ca
mov ebx, dword [esi + 0xb0]
cmp eax, 0x612edd73
je 0x47545e
cmp eax, 0xc26496ca
jne 0x475449
mov eax, 0x612edd73
jmp 0x475449
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
mov edx, 0x62fceb1b
jmp 0x475315
mov edx, 0x508cc6b7
jmp 0x475315
mov edx, 0x721c75b2
mov edi, 0x5a02f43
mov ebx, 0xc26496ca
cmp ebx, 0x612edd73
je 0x47549e
cmp ebx, 0xc26496ca
jne 0x475487
mov ebx, 0x612edd73
jmp 0x475487
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], edx
mov edx, 0x26156e1d
mov edi, 0x4e5869ce
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x4754ce
cmp eax, 0xc26496ca
jne 0x4754b9
mov eax, 0x612edd73
jmp 0x4754b9
mov dword [esi + 0xd8], edi
mov dword [esi + 0xdc], edx
mov edx, 0x85ce9419
jmp 0x475315
mov dword [eax], edx
mov dword [eax + 4], ecx
add eax, 8
mov dword [esi + 0xb0], eax
mov eax, 0x26156e1d
mov ecx, 0x4e5869ce
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x475518
cmp edx, 0xc26496ca
jne 0x475501
mov edx, 0x612edd73
jmp 0x475501
mov edx, dword [esi + 0xb0]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [0x4a80a0]
mov ecx, dword [0x4a80a4]
lea eax, [edx + 1]
mov dword [esi + 0x18], edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov edx, 0x97350493
mov edi, 0x73d88bc9
cmove edx, edi
sete al
mov dword [esi + 0x14], ecx
cmp ecx, 0xa
mov ebx, 0x97350493
cmovge edx, ebx
setl ah
xor ah, al
cmovne edx, edi
jmp 0x475315
mov eax, dword [esi + 0xb0]
add eax, 8
mov dword [esi + 0x50], eax
mov eax, 0x2c201751
mov ecx, 0xc9412770
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x47559d
cmp edx, 0xc26496ca
jne 0x475586
mov edx, 0x612edd73
jmp 0x475586
mov edx, dword [esi + 0x50]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [0x4a80a0]
mov ecx, dword [0x4a80a4]
lea eax, [edx + 1]
mov dword [esi + 0x18], edx
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edi, 0xd5f9d9ff
mov ebx, 0x820b137d
cmovne edi, ebx
cmp eax, 0xffffffff
mov edx, edi
cmove edx, ebx
mov dword [esi + 0x14], ecx
cmp ecx, 0xa
cmovge edx, edi
jmp 0x475315
cmp edx, 0x508cc6b7
jne 0x475315
mov eax, 0xc0c91df4
mov ecx, 0xcde7b368
mov edi, 0xc26496ca
mov edx, dword [esi + 0x50]
cmp edi, 0x612edd73
je 0x47565e
cmp edi, 0xc26496ca
jne 0x47560e
mov edi, 0x612edd73
jmp 0x47560e
mov ecx, dword [0x4a7738]
mov eax, dword [0x4a773c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete byte [esi + 0x14]
cmp eax, 0xa
setl bh
setge bl
cmp bh, byte [esi + 0x14]
jne 0x4762a3
or bl, dl
test bl, 1
je 0x4762a3
jmp 0x47565c
mov dword [esi + 0x34], esp
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0xf8]
lea eax, [esi + 0xd0]
mov dword [esi + 0x114], eax
lea ebx, [esi + 0x50]
mov dword [esi + 0x130], ebx
mov eax, 0x67d01ff
mov ecx, 0x64ec4119
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x4756a8
cmp edx, 0xc26496ca
jne 0x475691
mov edx, 0x612edd73
jmp 0x475691
mov edx, dword [esi + 0x130]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, 0xa41bb57c
cmp eax, 0xc875cb25
je 0x47570b
cmp eax, 0xa41bb57c
jne 0x4756b8
mov eax, dword [esi + 0x130]
add eax, 8
mov dword [esi + 0x78], eax
mov eax, 0x6a772c7a
mov ecx, 0x3b2125a6
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x4756f8
cmp edx, 0xc26496ca
jne 0x4756e1
mov edx, 0x612edd73
jmp 0x4756e1
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], eax
mov eax, 0xc875cb25
jmp 0x4756b8
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0xf8]
mov edx, dword [esi + 0xfc]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, 0x2c201751
mov edx, 0xfe277733
mov edi, 0xc26496ca
mov eax, dword [esi + 0x78]
cmp edi, 0x612edd73
je 0x475748
cmp edi, 0xc26496ca
jne 0x475731
mov edi, 0x612edd73
jmp 0x475731
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, 0xc0c91df4
mov edx, 0xcde7b368
mov edi, 0xc26496ca
cmp edi, 0x612edd73
je 0x475774
cmp edi, 0xc26496ca
jne 0x47575d
mov edi, 0x612edd73
jmp 0x47575d
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
xor eax, eax
mov ecx, 0xc26496ca
cmp ecx, 0x612edd73
je 0x475798
cmp ecx, 0xc26496ca
jne 0x475781
mov ecx, 0x612edd73
jmp 0x475781
mov dword [esi + 0x18], ebx
mov eax, esp
mov ecx, dword [0x4a7fd0]
mov edx, dword [0x4a7fd4]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x20]
mov ebx, 0xae5e25bf
cmp ebx, 0xda5a8bc2
jg 0x475834
cmp ebx, 0x8526268a
je 0x475877
cmp ebx, 0xae5e25bf
je 0x47588b
cmp ebx, 0xc89cc057
jne 0x4757c6
push eax
mov ecx, esp
mov dword [esi + 0x90], ecx
mov ecx, dword [0x4a7fd0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
mov ebx, 0xda5a8bc3
mov edi, 0x8526268a
cmove ebx, edi
cmp dword [0x4a7fd4], 0xa
mov edx, 0xda5a8bc3
cmovge ebx, edx
setl dl
xor dl, cl
cmovne ebx, edi
jmp 0x4757c6
cmp ebx, 0xda5a8bc3
je 0x475881
cmp ebx, 0x37c28e6d
je 0x4758b3
cmp ebx, 0x5c44d63b
jne 0x4757c6
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x18]
mov dword [ecx], edx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
movaps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xb0], xmm0
mov ebx, 0x37c28e6d
jmp 0x4757c6
mov ebx, 0x5c44d63b
jmp 0x4757c6
mov ebx, 0xc89cc057
jmp 0x4757c6
mov dl, byte [esi + 0x40]
mov dh, byte [esi + 0x20]
mov ebx, edx
xor bl, dh
mov ecx, 0xda5a8bc3
mov edi, 0xc89cc057
cmovne ecx, edi
test dh, dh
mov ebx, ecx
cmovne ebx, edi
test dl, dl
cmove ebx, ecx
jmp 0x4757c6
movaps xmm0, xmmword [esi + 0xb0]
mov esp, eax
mov dword [esi + 0x14], esp
mov eax, dword [esi + 0x114]
mov dword [esi + 0x1c], eax
mov edx, dword [0x4a7fd0]
lea edi, [edx + 1]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov edx, dword [0x4a7fd4]
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x20]
mov edx, 0xae5e25bf
mov edi, 0xda5a8bc3
mov ecx, 0xc89cc057
cmp edx, 0xda5a8bc2
jg 0x475963
cmp edx, 0x8526268a
je 0x4759a2
cmp edx, 0xae5e25bf
je 0x4759b6
cmp edx, 0xc89cc057
jne 0x4758fb
push eax
mov edx, esp
mov dword [esi + 0x90], edx
mov edx, dword [0x4a7fd0]
lea ebx, [edx + 1]
imul ebx, edx
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
sete bl
mov edx, 0xda5a8bc3
mov eax, 0x8526268a
cmove edx, eax
cmp dword [0x4a7fd4], 0xa
cmovge edx, edi
setl bh
xor bh, bl
cmovne edx, eax
jmp 0x4758fb
cmp edx, 0xda5a8bc3
je 0x4759ac
cmp edx, 0x37c28e6d
je 0x4759e3
cmp edx, 0x5c44d63b
jne 0x4758fb
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x1c]
mov dword [edx], eax
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
movaps xmm1, xmmword [edx]
movaps xmmword [esi + 0xb0], xmm1
mov edx, 0x37c28e6d
jmp 0x4758fb
mov edx, 0x5c44d63b
jmp 0x4758fb
mov edx, 0xc89cc057
jmp 0x4758fb
mov bl, byte [esi + 0x40]
mov dl, byte [esi + 0x20]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xda5a8bc3
mov eax, 0xc89cc057
cmovne edx, eax
test bl, bl
mov eax, 0xda5a8bc3
cmove edx, eax
test bh, bh
cmovne edx, ecx
jmp 0x4758fb
movaps xmm1, xmmword [esi + 0xb0]
mov esp, dword [esi + 0x14]
mov eax, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x40]
cmp ecx, 0xa
setl byte [esi + 0x20]
mov dword [esi + 0x1c], esp
mov edi, 0x7546820e
cmp edi, 0xed301bbb
jle 0x475a6a
cmp edi, 0x29e50f32
jle 0x475aca
cmp edi, 0x29e50f33
je 0x475bc5
cmp edi, 0x7546820e
jne 0x475bcf
mov al, byte [esi + 0x40]
mov dl, byte [esi + 0x20]
mov ah, al
xor ah, dl
mov ecx, 0x29e50f33
mov ebx, 0xed301bbc
cmovne ecx, ebx
test dl, dl
mov edi, ecx
cmovne edi, ebx
test al, al
cmove edi, ecx
jmp 0x475a19
cmp edi, 0xb99aab09
jg 0x475af1
cmp edi, 0x9bb8751c
je 0x475b65
cmp edi, 0xb8de20b1
jne 0x475a19
mov ecx, dword [0x4a8410]
mov eax, dword [0x4a8414]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x1fd270f8
mov ebx, 0xb99aab0a
cmovne ecx, ebx
cmp edx, 0xffffffff
mov edi, ecx
cmove edi, ebx
cmp eax, 0xa
cmovge edi, ecx
jmp 0x475a19
cmp edi, 0xed301bbc
je 0x475b0f
cmp edi, 0x1fd270f8
jne 0x475a19
mov eax, dword [esi + 0x90]
movaps xmmword [eax], xmm0
mov edi, 0xb99aab0a
jmp 0x475a19
cmp edi, 0xb99aab0a
je 0x475b6f
cmp edi, 0xbb1850eb
jne 0x475a19
mov edi, 0x422734a9
jmp 0x475a19
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov ecx, dword [0x4a8410]
mov edx, dword [0x4a8414]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0x29e50f33
mov ebx, 0x9bb8751c
cmovne ecx, ebx
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, ebx
cmp edx, 0xa
mov dword [esi + 0x90], eax
cmovge edi, ecx
jmp 0x475a19
mov edi, 0xb8de20b1
jmp 0x475a19
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
mov eax, dword [esi + 0x90]
movaps xmmword [eax], xmm0
mov eax, dword [0x4a8410]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0x1fd270f8
mov edx, 0xbb1850eb
cmove edi, edx
cmp dword [0x4a8414], 0xa
mov ecx, 0x1fd270f8
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x475a19
mov edi, 0xed301bbc
jmp 0x475a19
cmp edi, 0x422734a9
jne 0x475a19
mov eax, dword [esi + 0x14]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xb0]
movaps xmmword [eax], xmm1
mov eax, dword [esi + 0xb0]
movaps xmm1, xmmword [eax]
mov eax, dword [esi + 0x90]
movaps xmm2, xmmword [eax]
movaps xmm0, xmmword [0x4a3320]
movaps xmm3, xmm1
andnps xmm3, xmm0
movaps xmm4, xmm0
andnps xmm4, xmm2
andnps xmm2, xmm0
orps xmm2, xmm4
andnps xmm0, xmm1
orps xmm0, xmm3
xorps xmm0, xmm2
mov esp, dword [esi + 0x1c]
mov ecx, dword [esi + 0x114]
movaps xmmword [esi + 0xb0], xmm0
mov eax, 0x12053229
mov edx, dword [esi + 0x18]
cmp eax, 0x12053229
je 0x475c49
cmp eax, 0x8748a597
jne 0x475c39
jmp 0x475c50
mov eax, 0x8748a597
jmp 0x475c39
mov dword [esi + 0x14], esp
mov dword [esi + 0x90], ecx
movaps xmm0, xmmword [esi + 0xb0]
mov ecx, dword [esi + 0x90]
movaps xmmword [ecx], xmm0
add edx, 0x10
mov eax, edx
mov ecx, dword [0x4a7fd0]
mov edx, dword [0x4a7fd4]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x20]
mov ebx, 0xae5e25bf
mov edi, 0x8526268a
cmp ebx, 0xda5a8bc2
jg 0x475d04
cmp ebx, 0x8526268a
je 0x475d40
cmp ebx, 0xae5e25bf
je 0x475d54
cmp ebx, 0xc89cc057
jne 0x475c9c
push eax
mov ecx, esp
mov dword [esi + 0x90], ecx
mov ecx, dword [0x4a7fd0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
mov ebx, 0xda5a8bc3
cmove ebx, edi
cmp dword [0x4a7fd4], 0xa
mov edx, 0xda5a8bc3
cmovge ebx, edx
setl dl
xor dl, cl
cmovne ebx, edi
jmp 0x475c9c
cmp ebx, 0xda5a8bc3
je 0x475d4a
cmp ebx, 0x37c28e6d
je 0x475d81
cmp ebx, 0x5c44d63b
jne 0x475c9c
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
movaps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xb0], xmm0
mov ebx, 0x37c28e6d
jmp 0x475c9c
mov ebx, 0x5c44d63b
jmp 0x475c9c
mov ebx, 0xc89cc057
jmp 0x475c9c
mov dl, byte [esi + 0x40]
mov ch, byte [esi + 0x20]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0xda5a8bc3
mov edi, 0xc89cc057
cmovne ebx, edi
test dl, dl
mov edx, 0xda5a8bc3
cmove ebx, edx
test cl, cl
cmovne ebx, edi
jmp 0x475c97
movaps xmm0, xmmword [esi + 0xb0]
mov esp, dword [esi + 0x14]
mov ecx, esp
mov eax, dword [esi + 0x114]
add eax, 0x10
mov dword [esi + 0x14], eax
mov edx, dword [0x4a7fd0]
lea edi, [edx + 1]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov edx, dword [0x4a7fd4]
sete byte [esi + 0x40]
cmp edx, 0xa
setl byte [esi + 0x20]
mov edi, 0xae5e25bf
cmp edi, 0xda5a8bc2
jg 0x475e3c
cmp edi, 0x8526268a
je 0x475e7f
cmp edi, 0xae5e25bf
je 0x475e93
cmp edi, 0xc89cc057
jne 0x475dc2
push eax
mov dword [esi + 0x1c], esp
mov eax, dword [0x4a7fd0]
mov ebx, dword [0x4a7fd4]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
mov dword [esi + 0x18], ecx
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov ecx, 0xda5a8bc3
mov edx, 0x8526268a
cmovne ecx, edx
test eax, edi
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x90], eax
cmovge edi, ecx
mov ecx, dword [esi + 0x18]
jmp 0x475dc2
cmp edi, 0xda5a8bc3
je 0x475e89
cmp edi, 0x37c28e6d
je 0x475ec0
cmp edi, 0x5c44d63b
jne 0x475dc2
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x14]
mov dword [eax], edx
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
movaps xmm1, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm1
mov edi, 0x37c28e6d
jmp 0x475dc2
mov edi, 0x5c44d63b
jmp 0x475dc2
mov edi, 0xc89cc057
jmp 0x475dc2
mov dl, byte [esi + 0x40]
mov dh, byte [esi + 0x20]
mov bl, dh
xor bl, dl
test dh, dh
mov edi, 0xda5a8bc3
mov eax, 0xc89cc057
cmovne edi, eax
test dl, dl
mov edx, 0xda5a8bc3
cmove edi, edx
test bl, bl
cmovne edi, eax
jmp 0x475dc2
movaps xmm1, xmmword [esi + 0xb0]
mov esp, ecx
mov eax, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x40]
cmp ecx, 0xa
setl byte [esi + 0x20]
mov dword [esi + 0x18], esp
mov edx, 0x7546820e
cmp edx, 0xed301bbb
jle 0x475f45
cmp edx, 0x29e50f32
jle 0x475faa
cmp edx, 0x29e50f33
je 0x4760a4
cmp edx, 0x7546820e
jne 0x4760ae
mov al, byte [esi + 0x40]
mov dl, byte [esi + 0x20]
mov ah, al
xor ah, dl
mov ebx, 0x29e50f33
mov ecx, 0xed301bbc
cmovne ebx, ecx
test dl, dl
mov edx, ebx
cmovne edx, ecx
test al, al
cmove edx, ebx
jmp 0x475ef4
cmp edx, 0xb99aab09
jg 0x475fd1
cmp edx, 0x9bb8751c
je 0x476044
cmp edx, 0xb8de20b1
jne 0x475ef4
mov ecx, dword [0x4a8410]
mov ebx, dword [0x4a8414]
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete cl
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0x1fd270f8
mov edi, 0xb99aab0a
cmovne ecx, edi
cmp eax, 0xffffffff
mov edx, ecx
cmove edx, edi
cmp ebx, 0xa
cmovge edx, ecx
jmp 0x475ef4
cmp edx, 0xed301bbc
je 0x475fef
cmp edx, 0x1fd270f8
jne 0x475ef4
mov eax, dword [esi + 0x90]
movaps xmmword [eax], xmm0
mov edx, 0xb99aab0a
jmp 0x475ef4
cmp edx, 0xb99aab0a
je 0x47604e
cmp edx, 0xbb1850eb
jne 0x475ef4
mov edx, 0x422734a9
jmp 0x475ef4
push eax
sub esp, 0xc
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
mov ecx, dword [0x4a8410]
mov eax, dword [0x4a8414]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x29e50f33
mov edi, 0x9bb8751c
cmovne ecx, edi
cmp edx, 0xffffffff
mov edx, ecx
cmove edx, edi
cmp eax, 0xa
mov dword [esi + 0x90], ebx
cmovge edx, ecx
jmp 0x475ef4
mov edx, 0xb8de20b1
jmp 0x475ef4
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
mov eax, dword [esi + 0x90]
movaps xmmword [eax], xmm0
mov eax, dword [0x4a8410]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edx, 0x1fd270f8
mov edi, 0xbb1850eb
cmove edx, edi
cmp dword [0x4a8414], 0xa
mov ecx, 0x1fd270f8
cmovge edx, ecx
setl cl
xor cl, al
cmovne edx, edi
jmp 0x475ef4
mov edx, 0xed301bbc
jmp 0x475ef4
cmp edx, 0x422734a9
jne 0x475ef4
mov eax, dword [esi + 0x14]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xb0]
movaps xmmword [eax], xmm1
mov eax, dword [esi + 0xb0]
movaps xmm1, xmmword [eax]
mov eax, dword [esi + 0x90]
movaps xmm2, xmmword [eax]
movaps xmm0, xmmword [0x4a3330]
movaps xmm3, xmm1
andnps xmm3, xmm0
movaps xmm4, xmm0
andnps xmm4, xmm2
andnps xmm2, xmm0
orps xmm2, xmm4
andnps xmm0, xmm1
orps xmm0, xmm3
xorps xmm0, xmm2
mov esp, dword [esi + 0x18]
mov eax, dword [esi + 0x114]
add eax, 0x10
movaps xmmword [esi + 0xb0], xmm0
mov ecx, 0x12053229
cmp ecx, 0x12053229
je 0x47612a
cmp ecx, 0x8748a597
jne 0x476118
jmp 0x476131
mov ecx, 0x8748a597
jmp 0x476118
mov dword [esi + 0x90], eax
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0x90]
movaps xmmword [eax], xmm0
mov ebx, dword [esi + 0x114]
mov esp, dword [esi + 0x34]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esi + 0x168], 0xffffffff
lea edi, [esi + 0x50]
mov ecx, edi
push eax
call fcn.0040715a
push ebx
push edi
call fcn.00412266
add esp, 8
mov edx, dword [0x4a7738]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4a773c], 0xa
mov byte [esi + 0x14], al
setge al
setl ah
xor ah, dl
jne 0x4761a1
or al, cl
test al, 1
jne 0x4761da
lea edi, [esi + 0x50]
mov ecx, edi
call fcn.00406ff0
mov ecx, dword [0x4a7738]
mov eax, dword [0x4a773c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete bh
setne dl
cmp eax, 0xa
setl bl
setge dh
cmp bl, bh
jne 0x4761e4
or dh, dl
je 0x4761e4
lea ecx, [esi + 0x50]
call fcn.00406ff0
jmp 0x4761a1
cmp byte [esi + 0x14], 0
je 0x4762a3
mov dword [esi + 0x168], 0xffffffff
lea ecx, [esi + 0xb0]
push 0
push dword [ebp + 0xc]
call fcn.00478144
mov eax, dword [0x4a7738]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
jne 0x476232
xor cl, al
jne 0x476232
jmp 0x476230
mov eax, 0x250b8fe1
cmp eax, 0x250b8fe1
je 0x476247
cmp eax, 0xd30c0d7a
jne 0x476237
jmp 0x47624e
mov eax, 0xd30c0d7a
jmp 0x476237
mov dword [esi + 0x168], 0
sub esp, 0xc
mov al, byte [esi + 0xd0]
mov byte [esp + 8], al
mov dword [esp], edi
mov dword [esp + 4], str.data
call fcn.004a0647
add esp, 0xc
mov ecx, dword [0x4a7738]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x4a773c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x4762ce
or cl, al
test cl, 1
jne 0x476307
jmp 0x4762ce
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test al, cl
jne 0x4762b8
xor al, cl
jne 0x4762b8
jmp 0x4762b6
mov eax, dword [esi + 0x160]
mov dword fs:[0], eax
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0xb0]
call fcn.00478402
mov ecx, dword [0x4a7738]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x4a773c], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x476314
or dl, cl
je 0x476314
lea ecx, [esi + 0xb0]
call fcn.00478402
jmp 0x4762ce
mov dword [esi + 0x168], 1
lea edx, [esi + 0xf8]
lea ecx, [esi + 0x50]
push ecx
push eax
push edx
call fcn.00478316
add esp, 0xc
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
lea edi, [esi + 0x50]
jne 0x47635e
xor cl, al
je 0x4763b2
jmp 0x47635e
mov eax, 0x63f04e2c
cmp eax, 0x63f04e2c
je 0x476373
cmp eax, 0x12ff347f
jne 0x476363
jmp 0x47637a
mov eax, 0x12ff347f
jmp 0x476363
mov dword [esi + 0xd0], edi
mov ecx, dword [esi + 0xd0]
call fcn.004120d4
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
jne 0x4763e2
xor cl, al
jne 0x4763e2
mov eax, 0x63f04e2c
jmp 0x4763be
mov eax, 0x12ff347f
cmp eax, 0x63f04e2c
je 0x4763b9
cmp eax, 0x12ff347f
jne 0x4763be
mov dword [esi + 0xd0], edi
mov ecx, dword [esi + 0xd0]
call fcn.004120d4
jmp 0x47635e
lea edi, [esi + 0x148]
mov ecx, edi
call fcn.00492026
mov eax, 0xb11da0dd
and bl, 1
cmp eax, 0x32630fbb
jg 0x476418
cmp eax, 0xe00c58b0
jle 0x47642f
cmp eax, 0xe00c58b1
je 0x476442
cmp eax, 0xe0106b40
jne 0x4763f7
jmp 0x4764aa
cmp eax, 0x32630fbc
je 0x47646f
cmp eax, 0x6e808991
je 0x476476
cmp eax, 0x7c483b40
jne 0x4763f7
jmp 0x476489
cmp eax, 0xb11da0dd
je 0x476452
cmp eax, 0x9cea101a
jne 0x4763f7
jmp 0x476cf8
lea eax, [esi + 0xf8]
mov dword [esi + 0x50], eax
mov eax, 0x9cea101a
jmp 0x4763f7
push edi
lea eax, [esi + 0xf8]
push eax
call fcn.0049213e
add esp, 8
mov byte [esi + 0x90], al
mov eax, 0x7c483b40
jmp 0x4763f7
mov eax, 0xe0106b40
jmp 0x4763f7
test bl, bl
setne byte [esi + 0xd0]
mov eax, 0x32630fbc
jmp 0x4763f7
mov bl, byte [esi + 0x90]
mov ecx, edi
call fcn.0049240a
test al, al
mov eax, 0x6e808991
mov ecx, 0xe00c58b1
cmovne eax, ecx
jmp 0x4763f4
mov al, byte [esi + 0xd0]
mov byte [esi + 0x18], al
test al, al
jne 0x476503
mov dword [esi + 0x168], 2
push 4
call fcn.00405d9a
add esp, 4
call fcn.00474c32
test al, al
je 0x4764f9
mov eax, 0x63f04e2c
lea edi, [esi + 0xb0]
cmp eax, 0x63f04e2c
je 0x4764f2
cmp eax, 0x12ff347f
jne 0x4764df
jmp 0x476ca3
mov eax, 0x12ff347f
jmp 0x4764df
push 4
call fcn.0041a7a3
add esp, 4
lea eax, [esi + 0x90]
mov dword [esi + 0x78], eax
mov edx, 0x5cb2249d
cmp edx, 0xf0b6381b
je 0x476585
cmp edx, 0x5cb2249d
jne 0x476511
mov edx, 0x67d018b
mov edi, 0x168d356a
mov ebx, 0xc26496ca
mov ecx, dword [esi + 0x78]
cmp ebx, 0x612edd73
je 0x47654a
cmp ebx, 0xc26496ca
jne 0x476533
mov ebx, 0x612edd73
jmp 0x476533
mov dword [ecx], edi
mov dword [ecx + 4], edx
mov edx, 0x6a772c7a
mov edi, 0x3b2125a6
mov ebx, 0xc26496ca
cmp ebx, 0x612edd73
je 0x476575
cmp ebx, 0xc26496ca
jne 0x47655e
mov ebx, 0x612edd73
jmp 0x47655e
add ecx, 8
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edx
mov edx, 0xf0b6381b
jmp 0x476511
mov dword [esi + 0x34], esp
mov dword [esi + 0xd0], ecx
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x54]
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x20], eax
lea eax, [esi + 0xd0]
mov dword [esi + 0x114], eax
mov eax, 0xfff66d64
mov edi, 0xd0456790
cmp eax, 0xfff66d63
jle 0x4765e2
cmp eax, 0xfff66d64
je 0x47661a
cmp eax, 0xcba73a4
je 0x476790
cmp eax, 0x10bfdd75
jne 0x4765bb
mov eax, 0xcba73a4
jmp 0x4765bb
cmp eax, 0x9c5c58a0
je 0x4766ff
cmp eax, 0xd0456790
jne 0x4765bb
mov eax, 0x67d01ff
mov ebx, 0x64ec4119
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x47665a
cmp edx, 0xc26496ca
jne 0x476603
mov edx, 0x612edd73
jmp 0x476603
mov edx, dword [0x4a7780]
mov ecx, dword [0x4a7784]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9c5c58a0
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4765bb
mov ecx, dword [esi + 0x114]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov eax, 0x6a772c7a
mov ebx, 0x3b2125a6
mov ecx, 0xc26496ca
mov edx, dword [esi + 0x114]
cmp ecx, 0x612edd73
je 0x476691
cmp ecx, 0xc26496ca
jne 0x47667a
mov ecx, 0x612edd73
jmp 0x47667a
mov dword [edx + 8], ebx
xor ebx, ebx
mov dword [edx + 0xc], eax
mov ecx, 0xc26496ca
lea eax, [esi + 0xd0]
cmp ecx, 0x612edd73
je 0x4766bb
cmp ecx, 0xc26496ca
jne 0x4766a4
mov ecx, 0x612edd73
jmp 0x4766a4
mov dword [esi + 0x130], eax
mov eax, dword [0x4a7780]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x9c5c58a0
mov ebx, 0x10bfdd75
cmove eax, ebx
cmp dword [0x4a7784], 0xa
mov edx, 0x9c5c58a0
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x4765bb
mov eax, 0x67d01ff
mov ebx, 0x64ec4119
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x476725
cmp edx, 0xc26496ca
jne 0x47670e
mov edx, 0x612edd73
jmp 0x47670e
mov ecx, dword [esi + 0x114]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov eax, 0x6a772c7a
mov ebx, 0x3b2125a6
mov ecx, 0xc26496ca
mov edx, dword [esi + 0x114]
cmp ecx, 0x612edd73
je 0x47675c
cmp ecx, 0xc26496ca
jne 0x476745
mov ecx, 0x612edd73
jmp 0x476745
mov dword [edx + 8], ebx
xor ebx, ebx
mov dword [edx + 0xc], eax
mov ecx, 0xc26496ca
lea eax, [esi + 0xd0]
cmp ecx, 0x612edd73
je 0x476786
cmp ecx, 0xc26496ca
jne 0x47676f
mov ecx, 0x612edd73
jmp 0x47676f
mov eax, 0xd0456790
jmp 0x4765bb
mov ecx, esp
mov eax, dword [esi + 0x130]
mov dword [esi + 0x14], eax
mov edx, dword [0x4a7fd0]
lea edi, [edx + 1]
imul edi, edx
mov edx, dword [0x4a7fd4]
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x10]
cmp edx, 0xa
setl byte [esi + 0x40]
mov edi, 0xae5e25bf
cmp edi, 0xda5a8bc2
jg 0x47683c
cmp edi, 0x8526268a
je 0x476876
cmp edi, 0xae5e25bf
je 0x47688a
cmp edi, 0xc89cc057
jne 0x4767c5
push eax
mov dword [esi + 0x38], esp
mov eax, dword [0x4a7fd0]
mov ebx, dword [0x4a7fd4]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
mov dword [esi + 0x1c], ecx
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov ecx, 0xda5a8bc3
mov edx, 0x8526268a
cmovne ecx, edx
test eax, edi
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
mov eax, dword [esi + 0x38]
mov dword [esi + 0x78], eax
cmovge edi, ecx
mov ecx, dword [esi + 0x1c]
jmp 0x4767c5
cmp edi, 0xda5a8bc3
je 0x476880
cmp edi, 0x37c28e6d
je 0x4768b7
cmp edi, 0x5c44d63b
jne 0x4767c5
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x14]
mov dword [eax], edx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x50], xmm0
mov edi, 0x37c28e6d
jmp 0x4767c5
mov edi, 0x5c44d63b
jmp 0x4767c5
mov edi, 0xc89cc057
jmp 0x4767c5
mov dl, byte [esi + 0x10]
mov dh, byte [esi + 0x40]
mov ebx, edx
xor bl, dh
test dh, dh
mov edi, 0xda5a8bc3
mov eax, 0xc89cc057
cmovne edi, eax
test dl, dl
mov edx, 0xda5a8bc3
cmove edi, edx
test bl, bl
cmovne edi, eax
jmp 0x4767c5
movaps xmm0, xmmword [esi + 0x50]
mov esp, ecx
mov dword [esi + 0x14], esp
mov eax, dword [esi + 0x20]
mov dword [esi + 0x1c], eax
mov edx, dword [0x4a7fd0]
lea edi, [edx + 1]
imul edi, edx
mov edx, dword [0x4a7fd4]
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x10]
cmp edx, 0xa
setl byte [esi + 0x40]
mov edx, 0xae5e25bf
mov edi, 0xda5a8bc3
mov ecx, 0xc89cc057
cmp edx, 0xda5a8bc2
jg 0x476960
cmp edx, 0x8526268a
je 0x476996
cmp edx, 0xae5e25bf
je 0x4769aa
cmp edx, 0xc89cc057
jne 0x4768fa
push eax
mov edx, esp
mov dword [esi + 0x78], edx
mov edx, dword [0x4a7fd0]
lea ebx, [edx + 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete bl
mov edx, 0xda5a8bc3
mov eax, 0x8526268a
cmove edx, eax
cmp dword [0x4a7fd4], 0xa
cmovge edx, edi
setl bh
xor bh, bl
cmovne edx, eax
jmp 0x4768fa
cmp edx, 0xda5a8bc3
je 0x4769a0
cmp edx, 0x37c28e6d
je 0x4769d7
cmp edx, 0x5c44d63b
jne 0x4768fa
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x1c]
mov dword [edx], eax
mov edx, dword [esi + 0x78]
mov edx, dword [edx]
movaps xmm1, xmmword [edx]
movaps xmmword [esi + 0x50], xmm1
mov edx, 0x37c28e6d
jmp 0x4768fa
mov edx, 0x5c44d63b
jmp 0x4768fa
mov edx, 0xc89cc057
jmp 0x4768fa
mov bl, byte [esi + 0x10]
mov dl, byte [esi + 0x40]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xda5a8bc3
mov eax, 0xc89cc057
cmovne edx, eax
test bl, bl
mov eax, 0xda5a8bc3
cmove edx, eax
test bh, bh
cmovne edx, ecx
jmp 0x4768fa
movaps xmm1, xmmword [esi + 0x50]
mov esp, dword [esi + 0x14]
mov eax, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x10]
cmp ecx, 0xa
setl byte [esi + 0x40]
mov dword [esi + 0x1c], esp
mov ebx, 0x7546820e
mov edi, 0x29e50f33
cmp ebx, 0xed301bbb
jle 0x476a60
cmp ebx, 0x29e50f32
jle 0x476ac3
cmp ebx, 0x29e50f33
je 0x476b9e
cmp ebx, 0x7546820e
jne 0x476ba8
mov cl, byte [esi + 0x10]
mov ah, byte [esi + 0x40]
mov al, cl
xor al, ah
test ah, ah
mov ebx, 0x29e50f33
mov edx, 0xed301bbc
cmovne ebx, edx
test cl, cl
cmove ebx, edi
test al, al
cmovne ebx, edx
jmp 0x476a0f
cmp ebx, 0xb99aab09
jg 0x476ae7
cmp ebx, 0x9bb8751c
je 0x476b42
cmp ebx, 0xb8de20b1
jne 0x476a0f
mov ecx, dword [0x4a8410]
mov eax, dword [0x4a8414]
lea ebx, [ecx + 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd270f8
mov edi, 0xb99aab0a
cmovne edx, edi
test ecx, ebx
mov ebx, edx
cmove ebx, edi
mov edi, 0x29e50f33
cmp eax, 0xa
cmovge ebx, edx
jmp 0x476a0f
cmp ebx, 0xed301bbc
je 0x476b05
cmp ebx, 0x1fd270f8
jne 0x476a0f
mov eax, dword [esi + 0x78]
movaps xmmword [eax], xmm0
mov ebx, 0xb99aab0a
jmp 0x476a0f
cmp ebx, 0xb99aab0a
je 0x476b4c
cmp ebx, 0xbb1850eb
jne 0x476a0f
mov ebx, 0x422734a9
jmp 0x476a0f
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0x78], eax
mov eax, dword [0x4a8410]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0x29e50f33
mov edx, 0x9bb8751c
cmove ebx, edx
cmp dword [0x4a8414], 0xa
cmovge ebx, edi
jmp 0x476b91
mov ebx, 0xb8de20b1
jmp 0x476a0f
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x14], eax
mov esp, eax
mov eax, dword [esi + 0x78]
movaps xmmword [eax], xmm0
mov eax, dword [0x4a8410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0x1fd270f8
mov edx, 0xbb1850eb
cmove ebx, edx
cmp dword [0x4a8414], 0xa
mov ecx, 0x1fd270f8
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x476a0f
mov ebx, 0xed301bbc
jmp 0x476a0f
cmp ebx, 0x422734a9
jne 0x476a0f
mov eax, dword [esi + 0x14]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
movaps xmmword [eax], xmm1
mov eax, dword [esi + 0x50]
movaps xmm1, xmmword [eax]
mov eax, dword [esi + 0x78]
movaps xmm2, xmmword [eax]
movaps xmm0, xmmword [0x4a3340]
movaps xmm3, xmm1
andnps xmm3, xmm0
movaps xmm4, xmm0
andnps xmm4, xmm2
andnps xmm2, xmm0
orps xmm2, xmm4
andnps xmm0, xmm1
orps xmm0, xmm3
xorps xmm0, xmm2
mov esp, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
movaps xmmword [esi + 0x50], xmm0
mov ecx, 0x12053229
cmp ecx, 0x8748a597
je 0x476c14
cmp ecx, 0x12053229
jne 0x476bfd
mov ecx, 0x8748a597
jmp 0x476bfd
mov dword [esi + 0x78], eax
movaps xmm0, xmmword [esi + 0x50]
mov eax, dword [esi + 0x78]
movaps xmmword [eax], xmm0
mov esp, dword [esi + 0x34]
push dword [esi + 0x20]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_puts]
add esp, 4
mov dword [esi + 0x168], 2
lea ecx, [esi + 0x90]
push 0
push dword [ebp + 0xc]
call fcn.00478144
mov dword [esi + 0x14], esp
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esi + 0x168], 3
lea eax, [esi + 0x90]
push eax
call fcn.004784b2
call fcn.0046ee66
add esp, 0x18
mov esp, dword [esi + 0x14]
mov ecx, dword [0x4a7738]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x4a773c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x476d14
or cl, al
test cl, 1
jne 0x476d44
jmp 0x476d14
lea eax, [esi + 0xf8]
mov dword [esi + 0x50], eax
mov ecx, dword [esi + 0x50]
call fcn.004120d4
mov eax, 0x63f04e2c
cmp eax, 0x63f04e2c
je 0x476cc9
cmp eax, 0x12ff347f
jne 0x476cb9
jmp 0x476cd0
mov eax, 0x12ff347f
jmp 0x476cb9
mov dword [esi + 0x50], edi
mov ecx, dword [esi + 0x50]
call fcn.004120d4
mov ecx, dword [0x4a7738]
mov eax, dword [0x4a773c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
jmp 0x4762a3
mov eax, dword [esi + 0x50]
mov dword [esi + 0x168], 2
push eax
push edi
push str.exists
call fcn.004926bd
add esp, 0xc
lea ecx, [esi + 0x78]
call fcn.00412102
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
jne 0x476d4e
xor cl, al
jne 0x476d4e
lea ecx, [esi + 0x78]
call fcn.00412102
jmp 0x476d14
cmp byte [esi + 0x18], 0
lea eax, [esi + 0x50]
je 0x476dee
mov edx, esp
push eax
sub esp, 0x18
mov edi, esp
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
jne 0x476d8b
xor cl, al
je 0x476d5b
mov dword [esi + 0x18], edx
lea ecx, [edi + 4]
mov dword [esi + 0x168], 4
lea eax, [esi + 0xf8]
push eax
mov dword [esi + 0x14], edi
call fcn.004784b2
lea eax, [esi + 0x50]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
call fcn.0046d51e
add esp, 0x1c
mov eax, dword [0x4a7738]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x18]
lea ebx, [esi + 0x50]
jne 0x476e3b
xor cl, al
je 0x476e6e
jmp 0x476e3b
mov dword [esi + 0x168], 4
push eax
call fcn.0046c5ae
add esp, 4
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x4a773c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x476ef3
or cl, al
jne 0x476f32
jmp 0x476ef3
mov esp, edi
lea ecx, [esi + 0x78]
push ebx
call fcn.0046d1b2
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4a773c], 0xa
setl cl
test cl, al
jne 0x476e7b
xor cl, al
jne 0x476e7b
mov esp, edi
lea ecx, [esi + 0x78]
push ebx
call fcn.0046d1b2
jmp 0x476e3b
lea ecx, [esi + 0x50]
call fcn.00406ff0
mov ecx, dword [0x4a7738]
mov edi, dword [0x4a773c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp edi, 0xa
setl dh
test dh, dl
jne 0x476f47
xor dh, dl
jne 0x476f47
lea ebx, [esi + 0x50]
mov ecx, ebx
call fcn.00406ff0
mov ecx, ebx
call fcn.00406ff0
mov ecx, dword [0x4a7738]
mov edi, dword [0x4a773c]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete dl
cmp edi, 0xa
setl dh
test dh, dl
jne 0x476f47
xor dh, dl
je 0x476eb9
jmp 0x476f47
lea ecx, [esi + 0x78]
lea edi, [esi + 0x50]
push edi
call fcn.0046d1b2
mov ecx, edi
call fcn.00406ff0
mov ecx, dword [0x4a7738]
mov edi, dword [0x4a773c]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete bh
cmp edi, 0xa
setge bl
setl al
xor al, bh
jne 0x476f47
or bl, dl
test bl, 1
je 0x476f47
lea ecx, [esi + 0x78]
lea edi, [esi + 0x50]
push edi
call fcn.0046d1b2
mov ecx, edi
call fcn.00406ff0
jmp 0x476ef3
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete cl
cmp edi, 0xa
setl al
test al, cl
jne 0x476f6a
xor al, cl
je 0x477f39
lea ecx, [esi + 0x130]
call fcn.00412102
lea edi, [esi + 0x114]
mov ecx, edi
call fcn.00412102
mov dword [esi + 0x168], 5
mov ecx, edi
lea eax, [esi + 0x78]
push eax
call fcn.004784fc
mov edi, esp
push eax
sub esp, 0x1c
mov dword [esi + 0x14], esp
mov eax, dword [0x4a7738]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x4a773c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x476fcd
or cl, al
jne 0x476f97
mov eax, 0x411c56c0
cmp eax, 0x2bf86fdb
je 0x476fe7
cmp eax, 0x411c56c0
jne 0x476fd2
mov eax, 0x2bf86fdb
jmp 0x476fd2
mov eax, 0x29523b8c
mov ecx, 0x14983571
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x47700d
cmp edx, 0xc26496ca
jne 0x476ff6
mov edx, 0x612edd73
jmp 0x476ff6
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
mov eax, 0x444f1a4b
mov ecx, 0x15131c97
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x47703f
cmp edx, 0xc26496ca
jne 0x477028
mov edx, 0x612edd73
jmp 0x477028
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], eax
mov eax, 0x2c203860
mov ecx, 0xcf16590b
mov edx, 0xc26496ca
cmp edx, 0x612edd73
je 0x477071
cmp edx, 0xc26496ca
jne 0x47705a
mov edx, 0x612edd73
jmp 0x47705a
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xe4], eax
mov ecx, 0xc0c91df4
mov edx, 0xcde7b368
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x4770a1
cmp eax, 0xc26496ca
jne 0x47708c
mov eax, 0x612edd73
jmp 0x47708c
mov dword [esi + 0x1c], esp
mov dword [esi + 0xe8], edx
mov dword [esi + 0xec], ecx
lea eax, [esi + 0xd0]
mov dword [esi + 0x3c], eax
mov ecx, 0x67d01ff
mov edx, 0x64ec4119
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x4770dd
cmp eax, 0xc26496ca
jne 0x4770c8
mov eax, 0x612edd73
jmp 0x4770c8
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], ecx
mov ecx, 0x6a772c7a
mov edx, 0x3b2125a6
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x477107
cmp eax, 0xc26496ca
jne 0x4770f2
mov eax, 0x612edd73
jmp 0x4770f2
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ecx
mov ecx, 0x2c201751
mov edx, 0xfe277733
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x477131
cmp eax, 0xc26496ca
jne 0x47711c
mov eax, 0x612edd73
jmp 0x47711c
mov dword [esi + 0x60], edx
mov dword [esi + 0x64], ecx
mov ecx, 0xc0c91df4
mov edx, 0xcde7b368
mov eax, 0xc26496ca
cmp eax, 0x612edd73
je 0x47715b
cmp eax, 0xc26496ca
jne 0x477146
mov eax, 0x612edd73
jmp 0x477146
mov dword [esi + 0x12c], edi
xor edi, edi
mov dword [esi + 0x68], edx
mov dword [esi + 0x6c], ecx
mov eax, 0xc26496ca
lea ecx, [esi + 0x50]
mov dword [esi + 0x34], ecx
cmp eax, 0x612edd73
je 0x47718f
cmp eax, 0xc26496ca
jne 0x477174
mov eax, dword [esi + 0x34]
mov dword [esi + 0x34], eax
mov eax, 0x612edd73
jmp 0x477174
mov ebx, esp
mov eax, dword [0x4a7fd0]
mov ecx, dword [0x4a7fd4]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete byte [esi + 0xac]
cmp ecx, 0xa
setl byte [esi + 0x10]
mov edi, 0xae5e25bf
cmp edi, 0xda5a8bc2
jg 0x477234
cmp edi, 0x8526268a
je 0x47726e
cmp edi, 0xae5e25bf
je 0x477282
cmp edi, 0xc89cc057
jne 0x4771bc
push eax
mov dword [esi + 0x38], esp
mov dword [esi + 0x18], ebx
mov ebx, dword [0x4a7fd0]
mov ecx, dword [0x4a7fd4]
lea edi, [ebx + 1]
imul edi, ebx
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xda5a8bc3
mov eax, 0x8526268a
cmovne edx, eax
test ebx, edi
mov ebx, dword [esi + 0x18]
mov edi, edx
cmove edi, eax
cmp ecx, 0xa
mov eax, dword [esi + 0x38]
mov dword [esi + 0x40], eax
cmovge edi, edx
jmp 0x4771bc
cmp edi, 0xda5a8bc3
je 0x477278
cmp edi, 0x37c28e6d
je 0x4772b2
cmp edi, 0x5c44d63b
jne 0x4771bc
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov edi, 0x37c28e6d
jmp 0x4771bc
mov edi, 0x5c44d63b
jmp 0x4771bc
mov edi, 0xc89cc057
jmp 0x4771bc
mov al, byte [esi + 0xac]
mov cl, byte [esi + 0x10]
mov ah, cl
xor ah, al
test cl, cl
mov edi, 0xda5a8bc3
mov ecx, 0xc89cc057
cmovne edi, ecx
test al, al
mov edx, 0xda5a8bc3
cmove edi, edx
test ah, ah
cmovne edi, ecx
jmp 0x4771bc
movaps xmm0, xmmword [esi + 0x20]
mov esp, ebx
movaps xmmword [esi + 0x40], xmm0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xac], eax
mov edx, 0x3d8f90fb
cmp edx, 0x1ca1249
jle 0x477324
cmp edx, 0x1ca124a
je 0x477a14
cmp edx, 0x2843591c
je 0x47767d
cmp edx, 0x3d8f90fb
jne 0x4772ca
mov edx, dword [0x4a77a0]
mov eax, dword [0x4a77a4]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xd7c22b95
mov ebx, 0xa6d10620
jmp 0x4779ff
cmp edx, 0xa6d10620
je 0x477687
cmp edx, 0xd7c22b95
jne 0x4772ca
mov edi, esp
mov eax, dword [esi + 0xac]
mov dword [esi + 0x18], eax
mov eax, dword [0x4a7fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x4a7fd4]
sete byte [esi + 0xe]
cmp eax, 0xa
setl byte [esi + 0xf]
mov ebx, 0xae5e25bf
cmp ebx, 0xda5a8bc2
jg 0x4773d4
cmp ebx, 0x8526268a
je 0x47740e
cmp ebx, 0xae5e25bf
je 0x477422
cmp ebx, 0xc89cc057
jne 0x47736a
push eax
mov eax, esp
mov dword [esi + 0x10], eax
mov eax, dword [0x4a7fd0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xda5a8bc3
mov edx, 0x8526268a
cmove ebx, edx
cmp dword [0x4a7fd4], 0xa
mov ecx, 0xda5a8bc3
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x47736a
cmp ebx, 0xda5a8bc3
je 0x477418
cmp ebx, 0x37c28e6d
je 0x47744f
cmp ebx, 0x5c44d63b
jne 0x47736a
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov ebx, 0x37c28e6d
jmp 0x47736a
mov ebx, 0x5c44d63b
jmp 0x47736a
mov ebx, 0xc89cc057
jmp 0x47736a
mov al, byte [esi + 0xe]
mov cl, byte [esi + 0xf]
mov ah, al
xor ah, cl
mov edx, 0xda5a8bc3
mov ebx, 0xc89cc057
cmovne edx, ebx
test cl, cl
mov ebx, edx
mov ecx, 0xc89cc057
cmovne ebx, ecx
test al, al
cmove ebx, edx
jmp 0x47736a
movaps xmm0, xmmword [esi + 0x20]
mov esp, edi
mov dword [esi + 0x38], esp
movaps xmm1, xmmword [esi + 0x40]
mov eax, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0xe]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov ebx, 0x7546820e
cmp ebx, 0xed301bbb
jle 0x4774d2
cmp ebx, 0x29e50f32
jle 0x477513
cmp ebx, 0x29e50f33
je 0x477604
cmp ebx, 0x7546820e
jne 0x47760e
mov al, byte [esi + 0xe]
mov cl, byte [esi + 0xf]
mov ah, al
xor ah, cl
mov edx, 0x29e50f33
mov edi, 0xed301bbc
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x477485
cmp ebx, 0xb99aab09
jg 0x477537
cmp ebx, 0x9bb8751c
je 0x4775a8
cmp ebx, 0xb8de20b1
jne 0x477485
mov eax, dword [0x4a8410]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0x1fd270f8
mov edx, 0xb99aab0a
jmp 0x4775e5
cmp ebx, 0xed301bbc
je 0x477555
cmp ebx, 0x1fd270f8
jne 0x477485
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm1
mov ebx, 0xb99aab0a
jmp 0x477485
cmp ebx, 0xb99aab0a
je 0x4775b2
cmp ebx, 0xbb1850eb
jne 0x477485
mov ebx, 0x422734a9
jmp 0x477485
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea ebx, [edx + 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x29e50f33
mov edi, 0x9bb8751c
cmovne edx, edi
cmp ebx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp ecx, 0xa
mov dword [esi + 0x10], eax
cmovge ebx, edx
jmp 0x477485
mov ebx, 0xb8de20b1
jmp 0x477485
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x18], eax
mov esp, eax
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm1
mov eax, dword [0x4a8410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0x1fd270f8
mov edx, 0xbb1850eb
cmove ebx, edx
cmp dword [0x4a8414], 0xa
mov ecx, 0x1fd270f8
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x477485
mov ebx, 0xed301bbc
jmp 0x477485
cmp ebx, 0x422734a9
jne 0x477485
mov eax, dword [esi + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
movaps xmmword [eax], xmm0
mov eax, dword [esi + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [esi + 0x10]
movaps xmm1, xmmword [eax]
movaps xmm2, xmm1
andnps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
mov esp, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
movaps xmmword [esi + 0x20], xmm0
mov ecx, 0x12053229
cmp ecx, 0x12053229
je 0x47765f
cmp ecx, 0x8748a597
jne 0x47764d
jmp 0x477666
mov ecx, 0x8748a597
jmp 0x47764d
mov dword [esi + 0x10], eax
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm0
mov edx, 0xa6d10620
jmp 0x4772ca
mov edx, 0x1ca124a
jmp 0x4772ca
mov edi, esp
mov eax, dword [esi + 0xac]
mov dword [esi + 0x18], eax
mov eax, dword [0x4a7fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x4a7fd4]
sete byte [esi + 0xe]
cmp eax, 0xa
setl byte [esi + 0xf]
mov ebx, 0xae5e25bf
cmp ebx, 0xda5a8bc2
jg 0x477723
cmp ebx, 0x8526268a
je 0x47775d
cmp ebx, 0xae5e25bf
je 0x477771
cmp ebx, 0xc89cc057
jne 0x4776b9
push eax
mov eax, esp
mov dword [esi + 0x10], eax
mov eax, dword [0x4a7fd0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ebx, 0xda5a8bc3
mov edx, 0x8526268a
cmove ebx, edx
cmp dword [0x4a7fd4], 0xa
mov ecx, 0xda5a8bc3
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x4776b9
cmp ebx, 0xda5a8bc3
je 0x477767
cmp ebx, 0x37c28e6d
je 0x47779e
cmp ebx, 0x5c44d63b
jne 0x4776b9
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov ebx, 0x37c28e6d
jmp 0x4776b9
mov ebx, 0x5c44d63b
jmp 0x4776b9
mov ebx, 0xc89cc057
jmp 0x4776b9
mov al, byte [esi + 0xe]
mov cl, byte [esi + 0xf]
mov ah, al
xor ah, cl
mov edx, 0xda5a8bc3
mov ebx, 0xc89cc057
cmovne edx, ebx
test cl, cl
mov ebx, edx
mov ecx, 0xc89cc057
cmovne ebx, ecx
test al, al
cmove ebx, edx
jmp 0x4776b9
movaps xmm0, xmmword [esi + 0x20]
mov esp, edi
mov dword [esi + 0x38], esp
movaps xmm1, xmmword [esi + 0x40]
mov eax, dword [0x4a8410]
mov ecx, dword [0x4a8414]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete byte [esi + 0xe]
cmp ecx, 0xa
setl byte [esi + 0xf]
mov ebx, 0x7546820e
cmp ebx, 0xed301bbb
jle 0x477824
cmp ebx, 0x29e50f32
jle 0x477873
cmp ebx, 0x29e50f33
je 0x477963
cmp ebx, 0x7546820e
jne 0x47796d
mov al, byte [esi + 0xe]
mov cl, byte [esi + 0xf]
mov ah, al
xor ah, cl
mov edx, 0x29e50f33
mov edi, 0xed301bbc
cmovne edx, edi
test cl, cl
mov ebx, edx
cmovne ebx, edi
test al, al
cmove ebx, edx
jmp 0x4777d3
cmp ebx, 0xb99aab09
jg 0x477897
cmp ebx, 0x9bb8751c
je 0x477901
cmp ebx, 0xb8de20b1
jne 0x4777d3
mov edx, dword [0x4a8410]
mov eax, dword [0x4a8414]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd270f8
mov edi, 0xb99aab0a
jmp 0x47794d
cmp ebx, 0xed301bbc
je 0x4778b5
cmp ebx, 0x1fd270f8
jne 0x4777d3
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm1
mov ebx, 0xb99aab0a
jmp 0x4777d3
cmp ebx, 0xb99aab0a
je 0x47790b
cmp ebx, 0xbb1850eb
jne 0x4777d3
mov ebx, 0x422734a9
jmp 0x4777d3
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0x10], eax
mov eax, dword [0x4a8410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ebx, 0x29e50f33
mov edx, 0x9bb8751c
cmove ebx, edx
cmp dword [0x4a8414], 0xa
mov ecx, 0x29e50f33
cmovge ebx, ecx
setl cl
xor cl, al
cmovne ebx, edx
jmp 0x4777d3
mov ebx, 0xb8de20b1
jmp 0x4777d3
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x18], eax
mov esp, eax
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm1
mov edx, dword [0x4a8410]
mov eax, dword [0x4a8414]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd270f8
mov edi, 0xbb1850eb
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x4777d3
mov ebx, 0xed301bbc
jmp 0x4777d3
cmp ebx, 0x422734a9
jne 0x4777d3
mov eax, dword [esi + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
movaps xmmword [eax], xmm0
mov eax, dword [esi + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [esi + 0x10]
movaps xmm1, xmmword [eax]
movaps xmm2, xmm1
andnps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
mov esp, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
movaps xmmword [esi + 0x20], xmm0
mov ecx, 0x12053229
cmp ecx, 0x12053229
je 0x4779be
cmp ecx, 0x8748a597
jne 0x4779ac
jmp 0x4779c5
mov ecx, 0x8748a597
jmp 0x4779ac
mov dword [esi + 0x10], eax
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm0
mov edx, dword [0x4a77a0]
mov eax, dword [0x4a77a4]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xd7c22b95
mov ebx, 0x2843591c
cmovne edi, ebx
test edx, ecx
mov edx, edi
cmove edx, ebx
cmp eax, 0xa
cmovge edx, edi
jmp 0x4772ca
mov dword [esi + 0x18], esp
mov eax, dword [0x4a7fd0]
lea ecx, [eax + 1]
imul ecx, eax
add dword [esi + 0x34], 0x10
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov eax, dword [0x4a7fd4]
sete byte [esi + 0xe]
cmp eax, 0xa
setl byte [esi + 0xf]
mov edi, 0xae5e25bf
cmp edi, 0xda5a8bc2
jg 0x477ab3
cmp edi, 0x8526268a
je 0x477aed
cmp edi, 0xae5e25bf
je 0x477b01
cmp edi, 0xc89cc057
jne 0x477a43
push eax
mov eax, esp
mov ebx, dword [0x4a7fd0]
mov ecx, dword [0x4a7fd4]
lea edi, [ebx - 1]
imul edi, ebx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xda5a8bc3
mov edx, 0x8526268a
cmovne ebx, edx
cmp edi, 0xffffffff
mov edi, ebx
cmove edi, edx
cmp ecx, 0xa
mov dword [esi + 0x10], eax
cmovge edi, ebx
jmp 0x477a43
cmp edi, 0xda5a8bc3
je 0x477af7
cmp edi, 0x37c28e6d
je 0x477b29
cmp edi, 0x5c44d63b
jne 0x477a43
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov edi, 0x37c28e6d
jmp 0x477a43
mov edi, 0x5c44d63b
jmp 0x477a43
mov edi, 0xc89cc057
jmp 0x477a43
mov al, byte [esi + 0xe]
mov cl, byte [esi + 0xf]
mov ah, al
xor ah, cl
mov ebx, 0xda5a8bc3
mov edx, 0xc89cc057
cmovne ebx, edx
test cl, cl
mov edi, ebx
cmovne edi, edx
test al, al
cmove edi, ebx
jmp 0x477a43
movaps xmm0, xmmword [esi + 0x20]
mov esp, dword [esi + 0x18]
mov edx, dword [esi + 0x3c]
add edx, 0x10
mov eax, dword [0x4a7fd0]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
mov eax, dword [0x4a7fd4]
sete byte [esi + 0xe]
cmp eax, 0xa
setl byte [esi + 0xf]
mov edi, 0xae5e25bf
cmp edi, 0xda5a8bc2
jg 0x477bc6
cmp edi, 0x8526268a
je 0x477bfd
cmp edi, 0xae5e25bf
je 0x477c11
cmp edi, 0xc89cc057
jne 0x477b5d
push eax
mov eax, esp
mov dword [esi + 0x10], eax
mov eax, dword [0x4a7fd0]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete al
mov edi, 0xda5a8bc3
mov ebx, 0x8526268a
cmove edi, ebx
cmp dword [0x4a7fd4], 0xa
mov ecx, 0xda5a8bc3
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
jmp 0x477b5d
cmp edi, 0xda5a8bc3
je 0x477c07
cmp edi, 0x37c28e6d
je 0x477c3e
cmp edi, 0x5c44d63b
jne 0x477b5d
mov eax, dword [esi + 0x10]
mov dword [eax], edx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movaps xmm1, xmmword [eax]
movaps xmmword [esi + 0x20], xmm1
mov edi, 0x37c28e6d
jmp 0x477b5d
mov edi, 0x5c44d63b
jmp 0x477b5d
mov edi, 0xc89cc057
jmp 0x477b5d
mov al, byte [esi + 0xe]
mov ah, byte [esi + 0xf]
mov ebx, eax
xor bl, ah
test ah, ah
mov edi, 0xda5a8bc3
mov ecx, 0xc89cc057
cmovne edi, ecx
test al, al
mov eax, 0xda5a8bc3
cmove edi, eax
test bl, bl
cmovne edi, ecx
jmp 0x477b5d
movaps xmm1, xmmword [esi + 0x20]
mov esp, dword [esi + 0x18]
mov eax, dword [0x4a8410]
mov edx, dword [0x4a8414]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0xe]
cmp edx, 0xa
setl byte [esi + 0xf]
mov edi, 0x7546820e
cmp edi, 0xed301bbb
jle 0x477cc4
cmp edi, 0x29e50f32
jle 0x477d04
cmp edi, 0x29e50f33
je 0x477ded
cmp edi, 0x7546820e
jne 0x477df7
mov al, byte [esi + 0xe]
mov ah, byte [esi + 0xf]
mov bl, ah
xor bl, al
test ah, ah
mov edi, 0x29e50f33
mov ecx, 0xed301bbc
cmovne edi, ecx
test al, al
mov eax, 0x29e50f33
cmove edi, eax
test bl, bl
cmovne edi, ecx
jmp 0x477c6e
cmp edi, 0xb99aab09
jg 0x477d28
cmp edi, 0x9bb8751c
je 0x477d93
cmp edi, 0xb8de20b1
jne 0x477c6e
mov eax, dword [0x4a8410]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete al
mov edi, 0x1fd270f8
mov ebx, 0xb99aab0a
jmp 0x477dce
cmp edi, 0xed301bbc
je 0x477d46
cmp edi, 0x1fd270f8
jne 0x477c6e
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm0
mov edi, 0xb99aab0a
jmp 0x477c6e
cmp edi, 0xb99aab0a
je 0x477d9d
cmp edi, 0xbb1850eb
jne 0x477c6e
mov edi, 0x422734a9
jmp 0x477c6e
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0x10], eax
mov eax, dword [0x4a8410]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
mov edi, 0x29e50f33
mov ecx, 0x9bb8751c
cmove edi, ecx
cmp dword [0x4a8414], 0xa
mov ebx, 0x29e50f33
cmovge edi, ebx
setl ah
xor ah, al
cmovne edi, ecx
jmp 0x477c6e
mov edi, 0xb8de20b1
jmp 0x477c6e
push eax
sub esp, 0xc
mov edx, esp
and edx, 0xfffffff0
mov esp, edx
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm0
mov eax, dword [0x4a8410]
lea edi, [eax - 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
mov edi, 0x1fd270f8
mov ebx, 0xbb1850eb
cmove edi, ebx
cmp dword [0x4a8414], 0xa
mov ecx, 0x1fd270f8
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
jmp 0x477c6e
mov edi, 0xed301bbc
jmp 0x477c6e
cmp edi, 0x422734a9
jne 0x477c6e
mov dword [esi + 0x20], edx
mov eax, dword [esi + 0x20]
movaps xmmword [eax], xmm1
mov eax, dword [esi + 0x20]
movaps xmm0, xmmword [eax]
mov eax, dword [esi + 0x10]
movaps xmm1, xmmword [eax]
movaps xmm3, xmmword [0x4a3350]
movaps xmm2, xmm3
andnps xmm2, xmm1
andnps xmm1, xmm3
orps xmm1, xmm2
movaps xmm2, xmm3
andnps xmm2, xmm0
andnps xmm0, xmm3
orps xmm0, xmm2
xorps xmm0, xmm1
mov esp, dword [esi + 0x18]
mov eax, dword [esi + 0x3c]
add eax, 0x10
movaps xmmword [esi + 0x20], xmm0
mov edx, 0x12053229
mov ecx, dword [esi + 0x14]
cmp edx, 0x8748a597
je 0x477e66
cmp edx, 0x12053229
jne 0x477e4f
mov edx, 0x8748a597
jmp 0x477e4f
mov dword [esi + 0x10], eax
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0x10]
movaps xmmword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov esp, dword [esi + 0x1c]
mov dword [esi + 0x168], 5
push eax
call fcn.0040715a
lea eax, [esi + 0x114]
mov ecx, dword [esi + 0x14]
mov dword [ecx + 0x18], eax
lea eax, [esi + 0x130]
mov dword [ecx + 0x1c], eax
call fcn.0043a785
add esp, 0x20
mov esp, dword [esi + 0x12c]
push 0x4a3d70
lea eax, [esi + 0x130]
push eax
call fcn.00412266
add esp, 8
test al, al
jne 0x477ee4
mov dword [esi + 0x14], esp
push eax
sub esp, 0x14
mov ecx, esp
lea eax, [esi + 0x130]
push eax
call fcn.00423302
call fcn.0046de91
add esp, 0x18
mov esp, dword [esi + 0x14]
push 2
call fcn.00405d9a
add esp, 4
lea ecx, [esi + 0x114]
call fcn.00406ff0
lea ecx, [esi + 0x130]
call fcn.00406ff0
mov ecx, dword [0x4a7738]
mov edi, dword [0x4a773c]
lea eax, [ecx - 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp edi, 0xa
setl dh
test dh, dl
jne 0x476f47
xor dh, dl
jne 0x476f47
jmp 0x477f37
jmp 0x477f39