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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x370
call 0x10059544
pop eax
mov dword [esp + 0x320], ecx
lea ecx, [esp + 0x130]
mov dword [esp + 0x300], edx
mov dword [esp + 0x2f0], eax
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor edi, edi
lea edx, [0x3e81cb9]
lea ebx, [0x3e81cba]
mov eax, 0xfffffff9
mov dword [esp + 0x10], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100595b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005ff2b
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x100595d6
shld dword [esp + 0x10], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10059590
mov edi, dword [esp + 0x130]
test edi, edi
je 0x1005963c
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
xor esi, 0x1d
lea ecx, [esp + 0x280]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x50], ebx
mov dword [esp + 4], eax
mov dword [esp + 0x54], eax
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x280], 0
je 0x100596a6
lea ecx, [esp + 0x50]
call fcn.10003710
xor eax, eax
jmp 0x100596b6
mov eax, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
mov ecx, 0x3e85236
mov edx, 0x11
mov byte [esp + 0xb8], 0
mov dword [esp + 8], eax
call 0x10070750
mov edx, dword [edi + 0x34]
mov esi, dword [edi + 0x30]
lea ecx, [edx + edx*8]
mov ebx, esi
mov dword [esp + 0x10], edx
lea edi, [ecx + ecx*2]
lea ecx, [edi + edx]
nop word [eax + eax]
test ecx, ecx
je 0x100596f5
mov edx, ebx
add ecx, 0xffffffe4
add ebx, 0x1c
cmp dword [edx], 0
je 0x10059680
cmp dword [edx + 4], eax
jne 0x10059680
mov al, 1
mov byte [esp + 0xb8], 1
mov dword [esp + 4], eax
jmp 0x100596fd
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 4]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x130], edi
mov edx, 0x3e885e0
mov dword [esp + 0x134], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x130]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x10059a72
mov dword [esp + 4], 0
mov ecx, 0x3e85247
mov edx, 0x13
call 0x10070750
mov ecx, dword [esp + 0x10]
mov edx, esi
add ecx, edi
nop word cs:[eax + eax]
nop
test ecx, ecx
je 0x10059747
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x10059720
cmp dword [ebx + 4], eax
jne 0x10059720
mov eax, dword [esp + 4]
or al, 2
mov dword [esp + 4], eax
mov byte [esp + 0xb8], al
mov ecx, 0x3e81cc1
mov edx, 0xf
call 0x10070750
mov ecx, dword [esp + 0x10]
mov edx, esi
add ecx, edi
nop
test ecx, ecx
je 0x10059787
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x10059760
cmp dword [ebx + 4], eax
jne 0x10059760
mov eax, dword [esp + 4]
or al, 4
mov dword [esp + 4], eax
mov byte [esp + 0xb8], al
mov ecx, 0x3e81cd0
mov edx, 0x11
call 0x10070750
mov ecx, dword [esp + 0x10]
mov edx, esi
add ecx, edi
nop
test ecx, ecx
je 0x100597c6
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x100597a0
cmp dword [ebx + 4], eax
jne 0x100597a0
mov ebx, dword [esp + 4]
or bl, 8
mov byte [esp + 0xb8], bl
jmp 0x100597ca
mov ebx, dword [esp + 4]
mov ecx, 0x3e81ce1
mov edx, 0xa
call 0x10070750
add edi, dword [esp + 0x10]
nop dword [eax]
test edi, edi
je 0x10059800
mov ecx, esi
add edi, 0xffffffe4
add esi, 0x1c
cmp dword [ecx], 0
je 0x100597e0
cmp dword [ecx + 4], eax
jne 0x100597e0
or bl, 0x10
mov byte [esp + 0xb8], bl
lea eax, [esp + 0xb8]
mov dword [esp + 0x130], 0x3e8aa34
lea edi, [esp + 0x280]
mov dword [esp + 0x134], 1
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov edx, 0x3e88274
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x90]
mov ecx, edi
mov dword [esp + 0x280], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xd4], 0x3e72ef0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10059a35
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x10059a35
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
cmp byte [eax + 0x2a], 0
je 0x100598e4
lea esi, [esp + 0x130]
mov byte [eax + 0x2a], 0
jmp 0x10059949
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x280]
lea esi, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x280], eax
mov dword [esp + 0x140], 0
mov edx, 0x3e87870
push esi
call fcn.10006f80
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 4
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x50], 0x3e8795c
mov dword [esp + 0x54], 3
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x280], 0x3e81ceb
mov dword [esp + 0x284], 0x10
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], 0x3e19440
mov dword [esp + 0x38], esi
mov dword [esp + 0x294], 0x7fffffff
mov dword [esp + 0x290], 0xefffffff
mov dword [esp + 0x28c], 0xffffffdf
mov dword [esp + 0x288], 0
mov byte [esp + 0x298], 0
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
mov dword [esp + 0x3c], 0x3e19440
lea ecx, [esp + 0xc0]
mov edx, 0x3e87870
mov dword [esp + 0x58], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 0
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0x98]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10059a6c
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x98]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 8]
dec dword [eax]
mov eax, dword [esp + 0x300]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
mov dword [esp + 0xc], ecx
je 0x10059bb8
mov eax, dword [eax + 0x128]
xor esi, esi
mov dword [esp + 8], eax
lea edx, [eax + 1]
xor eax, eax
jmp 0x10059acc
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 1
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x10]
sbb eax, 0xffffffff
inc esi
add edx, 0x28
cmp esi, dword [esp + 0xc]
je 0x10059b93
mov ecx, dword [esp + 8]
mov dword [esp + 4], eax
lea eax, [esi + esi*4]
mov edi, 8
mov dword [esp + 0x10], edx
cmp byte [ecx + eax*8 + 7], 0
jne 0x10059b40
mov ecx, dword [esp + 8]
mov edi, 7
lea eax, [ecx + eax*8]
cmp byte [eax + 6], 0
jne 0x10059b40
cmp byte [eax + 5], 0
mov edi, 6
jne 0x10059b40
cmp byte [eax + 4], 0
mov edi, 5
jne 0x10059b40
cmp byte [eax + 3], 0
mov edi, 4
jne 0x10059b40
cmp byte [eax + 2], 0
mov edi, 3
jne 0x10059b40
cmp byte [eax + 1], 0
mov edi, 2
je 0x10059aa0
nop word cs:[eax + eax]
nop
xor eax, eax
jmp 0x10059b5c
add eax, ebx
inc edx
cmp edi, 1
jbe 0x10059ab0
movzx ecx, byte [edx - 1]
dec edi
mov ebx, 0
mov ch, cl
and ch, 0xdf
add ch, 0xbf
cmp ch, 0x19
ja 0x10059b50
mov ch, byte [edx]
mov bl, ch
and bl, 0xdf
add bl, 0xbf
cmp bl, 0x19
mov ebx, 0
ja 0x10059b50
xor ch, cl
xor ebx, ebx
cmp ch, 0x20
setae bl
jmp 0x10059b50
mov dword [esp + 0x130], eax
test eax, eax
lea eax, [esp + 0x130]
je 0x10059bb8
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e8a5a3
push eax
push 0x35
call fcn.10058590
add esp, 8
mov edx, dword [esp + 0x300]
lea ecx, [esp + 0x130]
push dword [ebp + 0xc]
call fcn.1006ab90
add esp, 4
xor ecx, ecx
lea edx, [0x3e87b97]
lea edi, [0x3e87b98]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10059c15
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005ff2b
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10059c34
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10059bf0
mov eax, dword [esp + 0x130]
test eax, eax
je 0x10059cab
movsd xmm0, qword [esp + 0x134]
mov esi, dword [esp + 0x13c]
mov dword [esp + 0x280], eax
mov eax, dword [0x3e8b000]
xor ebx, 0x15
lea ecx, [esp + 0x30]
movsd qword [esp + 0x284], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x90], xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x94], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x30], 0
je 0x10059cbb
lea ecx, [esp + 0x90]
call fcn.10003710
xor eax, eax
jmp 0x10059cce
mov edi, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x10059d2e
movdqa xmm0, xmmword [esp + 0x10]
mov eax, dword [esp + 0x34]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp + 0x280]
movd ecx, xmm0
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], ebx
test ecx, ecx
je 0x10059d25
movq xmm0, qword [esp + 0x54]
mov dword [esp + 0x130], ecx
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e885e6
movq qword [esp + 0x134], xmm0
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x130]
push eax
push 0xd
call fcn.100582c0
add esp, 8
jmp 0x1005ce9f
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0x2c]
mov edx, 0x3e87b9f
mov ecx, esi
push eax
push 0x13
call fcn.10058590
add esp, 8
lea eax, [edi + 0x34]
mov ecx, esi
mov edx, 0x3e87bb2
push eax
push 0xe
call fcn.10058590
add esp, 8
mov eax, dword [edi + 0x18]
mov dword [esp + 0x310], edi
test eax, eax
je 0x10059d89
mov dword [esp + 0x130], eax
lea eax, [esp + 0x130]
mov ecx, esi
mov edx, 0x3e87bc0
push eax
push 0xf
call fcn.10058590
add esp, 8
mov eax, dword [esp + 0x310]
mov dword [esp + 0xb4], ebx
mov ebx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
lea ecx, [eax + 0xc]
add eax, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
test ebx, ebx
je 0x10059e0d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059dc6
mov edi, esi
sub esi, ebx
jbe 0x10059e05
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0xf17c9523
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059dc0
movzx edx, dl
cmp edx, 0xff
jne 0x1005a2de
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059dc6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x10059e7d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059e36
mov edi, esi
sub esi, ebx
jbe 0x10059e75
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059e30
movzx edx, dl
cmp edx, 0xff
jne 0x1005a348
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059e36
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x10059eed
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059ea6
mov edi, esi
sub esi, ebx
jbe 0x10059ee5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059ea0
movzx edx, dl
cmp edx, 0xff
jne 0x1005a3b8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059ea6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x10059f5d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059f16
mov edi, esi
sub esi, ebx
jbe 0x10059f55
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059f10
movzx edx, dl
cmp edx, 0xff
jne 0x1005a428
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059f16
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x10059fcd
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059f86
mov edi, esi
sub esi, ebx
jbe 0x10059fc5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059f80
movzx edx, dl
cmp edx, 0xff
jne 0x1005a498
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059f86
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a03d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x10059ff6
mov edi, esi
sub esi, ebx
jbe 0x1005a035
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x10059ff0
movzx edx, dl
cmp edx, 0xff
jne 0x1005a508
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x10059ff6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a0ad
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a066
mov edi, esi
sub esi, ebx
jbe 0x1005a0a5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a060
movzx edx, dl
cmp edx, 0xff
jne 0x1005a578
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a066
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a11d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a0d6
mov edi, esi
sub esi, ebx
jbe 0x1005a115
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a0d0
movzx edx, dl
cmp edx, 0xff
jne 0x1005a5e8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a0d6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a18d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a146
mov edi, esi
sub esi, ebx
jbe 0x1005a185
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a140
movzx edx, dl
cmp edx, 0xff
jne 0x1005a658
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a146
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a1fd
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a1b6
mov edi, esi
sub esi, ebx
jbe 0x1005a1f5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a1b0
movzx edx, dl
cmp edx, 0xff
jne 0x1005a6c8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a1b6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a26d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a226
mov edi, esi
sub esi, ebx
jbe 0x1005a265
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a220
movzx edx, dl
cmp edx, 0xff
jne 0x1005a738
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a226
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
mov dword [esp + 0x10], esi
je 0x1005a803
mov edi, ebx
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a29a
mov edi, esi
sub esi, ebx
jbe 0x1005a7ff
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a290
movzx edx, dl
cmp edx, 0xff
jne 0x1005a7a8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a29a
jmp 0x1005a7ff
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x10059e09
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a30a
mov ebx, edx
sub edx, esi
jbe 0x10059e05
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xa43ea9d2
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a300
movzx eax, al
cmp eax, 0xff
jne 0x1005a99a
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a30a
jmp 0x10059e05
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x10059e79
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a37a
mov ebx, edx
sub edx, esi
jbe 0x10059e75
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xfc0181d4
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a370
movzx eax, al
cmp eax, 0xff
jne 0x1005a9c5
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a37a
jmp 0x10059e75
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x10059ee9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a3ea
mov ebx, edx
sub edx, esi
jbe 0x10059ee5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x79e0910
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a3e0
movzx eax, al
cmp eax, 0xff
jne 0x1005a9e8
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a3ea
jmp 0x10059ee5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x10059f59
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a45a
mov ebx, edx
sub edx, esi
jbe 0x10059f55
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xa989b559
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a450
movzx eax, al
cmp eax, 0xff
jne 0x1005aa13
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a45a
jmp 0x10059f55
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x10059fc9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a4ca
mov ebx, edx
sub edx, esi
jbe 0x10059fc5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xe9b7ea0f
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a4c0
movzx eax, al
cmp eax, 0xff
jne 0x1005aa36
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a4ca
jmp 0x10059fc5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a039
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a53a
mov ebx, edx
sub edx, esi
jbe 0x1005a035
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x444540c2
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a530
movzx eax, al
cmp eax, 0xff
jne 0x1005aa61
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a53a
jmp 0x1005a035
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a0a9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a5aa
mov ebx, edx
sub edx, esi
jbe 0x1005a0a5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xd222f5a1
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a5a0
movzx eax, al
cmp eax, 0xff
jne 0x1005aa84
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a5aa
jmp 0x1005a0a5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a119
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a61a
mov ebx, edx
sub edx, esi
jbe 0x1005a115
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x40c62caa
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a610
movzx eax, al
cmp eax, 0xff
jne 0x1005aaaf
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a61a
jmp 0x1005a115
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a189
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a68a
mov ebx, edx
sub edx, esi
jbe 0x1005a185
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x2567082a
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a680
movzx eax, al
cmp eax, 0xff
jne 0x1005aad2
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a68a
jmp 0x1005a185
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a1f9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a6fa
mov ebx, edx
sub edx, esi
jbe 0x1005a1f5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x76e7d9ca
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a6f0
movzx eax, al
cmp eax, 0xff
jne 0x1005aafd
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a6fa
jmp 0x1005a1f5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a269
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a76a
mov ebx, edx
sub edx, esi
jbe 0x1005a265
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xe80b0721
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a760
movzx eax, al
cmp eax, 0xff
jne 0x1005ab20
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a76a
jmp 0x1005a265
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a7ff
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a7c6
mov ebx, edx
sub edx, esi
jbe 0x1005a7ff
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x77abf0bc
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a7c0
movzx eax, al
cmp eax, 0xff
jne 0x1005ab4f
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a7c6
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005a8c3
mov edi, ebx
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005a82a
mov edi, esi
sub esi, ebx
jbe 0x1005a8bf
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005a820
movzx edx, dl
cmp edx, 0xff
jne 0x1005a867
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005a82a
jmp 0x1005a8bf
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005a8bf
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005a886
mov ebx, edx
sub edx, esi
jbe 0x1005a8bf
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x8eab4f58
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005a880
movzx eax, al
cmp eax, 0xff
jne 0x1005ab76
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005a886
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005abb4
xor edi, edi
mov esi, ebx
jmp 0x1005a8ea
mov esi, ebx
sub ebx, edi
jbe 0x1005abb4
shr ebx, 1
mov ecx, dword [esp + 0x10]
xor eax, eax
add ebx, edi
mov edx, ebx
shl edx, 4
cmp dword [ecx + edx + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne al
cmovb eax, ecx
cmp al, 1
je 0x1005a8e0
movzx eax, al
cmp eax, 0xff
jne 0x1005a928
inc ebx
mov edi, ebx
mov ebx, esi
sub ebx, edi
ja 0x1005a8ea
jmp 0x1005abb4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edx + 4]
test ecx, ecx
je 0x1005abb4
mov eax, dword [esp + 0x10]
xor edi, edi
mov esi, ecx
mov eax, dword [eax + edx]
jmp 0x1005a95a
mov esi, ecx
sub ecx, edi
jbe 0x1005abb4
shr ecx, 1
xor ebx, ebx
add ecx, edi
mov edx, ecx
shl edx, 4
cmp dword [eax + edx + 0xc], 0x71de5ca1
mov edx, 0xff
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x1005a950
movzx edx, bl
cmp edx, 0xff
jne 0x1005aba2
inc ecx
mov edi, ecx
mov ecx, esi
sub ecx, edi
ja 0x1005a95a
jmp 0x1005abb4
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87bcf
push 0x19
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x10059e11
jmp 0x10059e7d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87be9
push 0x12
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x10059e7d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87bfb
push 0x15
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x10059ef1
jmp 0x10059f5d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c10
push 0x10
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x10059f5d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c20
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x10059fd1
jmp 0x1005a03d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c2e
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005a03d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e8838a
push 0xc
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005a0b1
jmp 0x1005a11d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c3c
push 0xc
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005a11d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c48
push 0x11
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005a191
jmp 0x1005a1fd
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c59
push 0x13
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005a1fd
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c6c
push 0xc
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
mov dword [esp + 0x10], esi
jne 0x1005a279
jmp 0x1005a803
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c78
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ebx, dword [ecx]
mov dword [esp + 0x10], eax
jmp 0x1005a803
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c86
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ebx, dword [ecx]
mov dword [esp + 0x10], eax
test ebx, ebx
jne 0x1005a8cb
jmp 0x1005abb4
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87c94
push 0xc
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [ecx]
mov esi, dword [eax]
test ebx, ebx
je 0x1005ac2d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005abe6
mov edi, esi
sub esi, ebx
jbe 0x1005ac25
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005abe0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b0fe
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005abe6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005ac9d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005ac56
mov edi, esi
sub esi, ebx
jbe 0x1005ac95
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005ac50
movzx edx, dl
cmp edx, 0xff
jne 0x1005b168
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005ac56
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005ad0d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005acc6
mov edi, esi
sub esi, ebx
jbe 0x1005ad05
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005acc0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b1d8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005acc6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005ad7d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005ad36
mov edi, esi
sub esi, ebx
jbe 0x1005ad75
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005ad30
movzx edx, dl
cmp edx, 0xff
jne 0x1005b248
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005ad36
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005aded
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005ada6
mov edi, esi
sub esi, ebx
jbe 0x1005ade5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005ada0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b2b8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005ada6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005ae5d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005ae16
mov edi, esi
sub esi, ebx
jbe 0x1005ae55
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005ae10
movzx edx, dl
cmp edx, 0xff
jne 0x1005b328
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005ae16
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005aecd
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005ae86
mov edi, esi
sub esi, ebx
jbe 0x1005aec5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005ae80
movzx edx, dl
cmp edx, 0xff
jne 0x1005b398
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005ae86
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005af3d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005aef6
mov edi, esi
sub esi, ebx
jbe 0x1005af35
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005aef0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b408
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005aef6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005afad
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005af66
mov edi, esi
sub esi, ebx
jbe 0x1005afa5
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005af60
movzx edx, dl
cmp edx, 0xff
jne 0x1005b478
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005af66
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005b01d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005afd6
mov edi, esi
sub esi, ebx
jbe 0x1005b015
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0x2dd2b3ce
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005afd0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b4e8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005afd6
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005b08d
mov edi, ebx
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005b046
mov edi, esi
sub esi, ebx
jbe 0x1005b085
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0xbdccfb0c
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005b040
movzx edx, dl
cmp edx, 0xff
jne 0x1005b558
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005b046
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ebx, ebx
mov dword [esp + 0x10], esi
je 0x1005b623
mov edi, ebx
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005b0ba
mov edi, esi
sub esi, ebx
jbe 0x1005b61f
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0xbdccfb0c
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005b0b0
movzx edx, dl
cmp edx, 0xff
jne 0x1005b5c8
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005b0ba
jmp 0x1005b61f
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ac29
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b12a
mov ebx, edx
sub edx, esi
jbe 0x1005ac25
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x8ee79d0b
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b120
movzx eax, al
cmp eax, 0xff
jne 0x1005b7ba
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b12a
jmp 0x1005ac25
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ac99
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b19a
mov ebx, edx
sub edx, esi
jbe 0x1005ac95
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xa8911fe1
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b190
movzx eax, al
cmp eax, 0xff
jne 0x1005b7e5
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b19a
jmp 0x1005ac95
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ad09
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b20a
mov ebx, edx
sub edx, esi
jbe 0x1005ad05
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x2b937060
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b200
movzx eax, al
cmp eax, 0xff
jne 0x1005b808
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b20a
jmp 0x1005ad05
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ad79
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b27a
mov ebx, edx
sub edx, esi
jbe 0x1005ad75
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xec0ecdd7
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b270
movzx eax, al
cmp eax, 0xff
jne 0x1005b833
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b27a
jmp 0x1005ad75
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ade9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b2ea
mov ebx, edx
sub edx, esi
jbe 0x1005ade5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x52cd0d58
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b2e0
movzx eax, al
cmp eax, 0xff
jne 0x1005b856
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b2ea
jmp 0x1005ade5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ae59
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b35a
mov ebx, edx
sub edx, esi
jbe 0x1005ae55
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x779a6791
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b350
movzx eax, al
cmp eax, 0xff
jne 0x1005b881
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b35a
jmp 0x1005ae55
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005aec9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b3ca
mov ebx, edx
sub edx, esi
jbe 0x1005aec5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xba8398bf
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b3c0
movzx eax, al
cmp eax, 0xff
jne 0x1005b8a4
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b3ca
jmp 0x1005aec5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005af39
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b43a
mov ebx, edx
sub edx, esi
jbe 0x1005af35
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x60d6f956
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b430
movzx eax, al
cmp eax, 0xff
jne 0x1005b8cf
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b43a
jmp 0x1005af35
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005afa9
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b4aa
mov ebx, edx
sub edx, esi
jbe 0x1005afa5
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xb43e7fa5
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b4a0
movzx eax, al
cmp eax, 0xff
jne 0x1005b8f2
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b4aa
jmp 0x1005afa5
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005b019
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b51a
mov ebx, edx
sub edx, esi
jbe 0x1005b015
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xbb752f2e
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b510
movzx eax, al
cmp eax, 0xff
jne 0x1005b91d
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b51a
jmp 0x1005b015
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005b089
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b58a
mov ebx, edx
sub edx, esi
jbe 0x1005b085
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x51efe79a
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b580
movzx eax, al
cmp eax, 0xff
jne 0x1005b940
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b58a
jmp 0x1005b085
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005b61f
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b5e6
mov ebx, edx
sub edx, esi
jbe 0x1005b61f
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xa7541692
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b5e0
movzx eax, al
cmp eax, 0xff
jne 0x1005b96f
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b5e6
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005b6e3
mov edi, ebx
xor ebx, ebx
mov esi, edi
mov dword [esp + 4], edi
jmp 0x1005b64a
mov edi, esi
sub esi, ebx
jbe 0x1005b6df
shr esi, 1
mov ecx, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [ecx + eax + 0xc], 0xbdccfb0c
mov ecx, 0xff
setne dl
cmovb edx, ecx
cmp dl, 1
je 0x1005b640
movzx edx, dl
cmp edx, 0xff
jne 0x1005b687
inc esi
mov ebx, esi
mov esi, edi
sub esi, ebx
ja 0x1005b64a
jmp 0x1005b6df
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005b6df
mov ecx, dword [esi + eax]
xor esi, esi
mov ebx, edx
jmp 0x1005b6a6
mov ebx, edx
sub edx, esi
jbe 0x1005b6df
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x7e872bc
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005b6a0
movzx eax, al
cmp eax, 0xff
jne 0x1005b996
inc edx
mov esi, edx
mov edx, ebx
sub edx, esi
ja 0x1005b6a6
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1005b9d4
xor edi, edi
mov esi, ebx
jmp 0x1005b70a
mov esi, ebx
sub ebx, edi
jbe 0x1005b9d4
shr ebx, 1
mov ecx, dword [esp + 0x10]
xor eax, eax
add ebx, edi
mov edx, ebx
shl edx, 4
cmp dword [ecx + edx + 0xc], 0xbdccfb0c
mov ecx, 0xff
setne al
cmovb eax, ecx
cmp al, 1
je 0x1005b700
movzx eax, al
cmp eax, 0xff
jne 0x1005b748
inc ebx
mov edi, ebx
mov ebx, esi
sub ebx, edi
ja 0x1005b70a
jmp 0x1005b9d4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edx + 4]
test ecx, ecx
je 0x1005b9d4
mov eax, dword [esp + 0x10]
xor edi, edi
mov esi, ecx
mov eax, dword [eax + edx]
jmp 0x1005b77a
mov esi, ecx
sub ecx, edi
jbe 0x1005b9d4
shr ecx, 1
xor ebx, ebx
add ecx, edi
mov edx, ecx
shl edx, 4
cmp dword [eax + edx + 0xc], 0xfcf6f23c
mov edx, 0xff
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x1005b770
movzx edx, bl
cmp edx, 0xff
jne 0x1005b9c2
inc ecx
mov edi, ecx
mov ecx, esi
sub ecx, edi
ja 0x1005b77a
jmp 0x1005b9d4
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87ca0
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005ac31
jmp 0x1005ac9d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cae
push 0xf
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005ac9d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cbd
push 0xd
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005ad11
jmp 0x1005ad7d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cca
push 0xd
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005ad7d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cd7
push 0xd
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005adf1
jmp 0x1005ae5d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87ce4
push 0xd
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005ae5d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cf1
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005aed1
jmp 0x1005af3d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87cff
push 0x10
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005af3d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d0f
push 0x10
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1005afb1
jmp 0x1005b01d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d1f
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
jmp 0x1005b01d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d2d
push 0xd
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov esi, dword [eax]
mov ebx, dword [ecx]
test ebx, ebx
mov dword [esp + 0x10], esi
jne 0x1005b099
jmp 0x1005b623
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d3a
push 0x21
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ebx, dword [ecx]
mov dword [esp + 0x10], eax
jmp 0x1005b623
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d5b
push 0x1a
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ebx, dword [ecx]
mov dword [esp + 0x10], eax
test ebx, ebx
jne 0x1005b6eb
jmp 0x1005b9d4
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d75
push 0x1a
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx]
mov esi, dword [eax]
test ecx, ecx
je 0x1005ba4d
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005ba08
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005ba49
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0xbdccfb0c
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005ba00
movzx edx, dl
cmp edx, 0xff
jne 0x1005bbe2
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005ba08
mov esi, dword [esp + 0x10]
test ecx, ecx
je 0x1005baad
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005ba68
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005baa9
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0xbdccfb0c
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005ba60
movzx edx, dl
cmp edx, 0xff
jne 0x1005bc5c
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005ba68
mov esi, dword [esp + 0x10]
test ecx, ecx
je 0x1005bb0d
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005bac8
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005bb09
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0xbdccfb0c
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005bac0
movzx edx, dl
cmp edx, 0xff
jne 0x1005bccc
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005bac8
mov esi, dword [esp + 0x10]
test ecx, ecx
je 0x1005bb6d
mov dword [esp + 0x10], esi
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005bb28
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005bb69
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x7f4592a6
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005bb20
movzx edx, dl
cmp edx, 0xff
jne 0x1005bd3c
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005bb28
mov esi, dword [esp + 0x10]
test ecx, ecx
mov dword [esp + 0x10], esi
je 0x1005beca
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005bb9c
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005beca
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x7f4592a6
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005bb90
movzx edx, dl
cmp edx, 0xff
jne 0x1005bdac
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005bb9c
jmp 0x1005beca
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005ba4d
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bc1c
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005ba49
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0xc57c9916
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bc10
movzx eax, al
cmp eax, 0xff
jne 0x1005be1c
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bc1c
jmp 0x1005ba49
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005baad
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bc8c
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005baa9
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x9073fc43
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bc80
movzx eax, al
cmp eax, 0xff
jne 0x1005be3f
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bc8c
jmp 0x1005baa9
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005bb0d
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bcfc
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005bb09
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x9557740c
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bcf0
movzx eax, al
cmp eax, 0xff
jne 0x1005be62
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bcfc
jmp 0x1005bb09
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005bb6d
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bd6c
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005bb69
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x758ec6ee
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bd60
movzx eax, al
cmp eax, 0xff
jne 0x1005be85
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bd6c
jmp 0x1005bb69
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005beca
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bddc
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005beca
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x1a0c6bb7
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bdd0
movzx eax, al
cmp eax, 0xff
jne 0x1005bea8
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bddc
jmp 0x1005beca
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87d8f
push 0x1b
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [ecx]
jmp 0x1005ba4d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87daa
push 0x1f
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [ecx]
jmp 0x1005baad
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87dc9
push 0xe
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [ecx]
jmp 0x1005bb0d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87dd7
push 0xf
call fcn.10058790
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [ecx]
jmp 0x1005bb6d
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87de6
push 0xe
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x1005bfc3
xor ebx, ebx
mov esi, ecx
mov dword [esp + 4], ecx
jmp 0x1005beec
mov dword [esp + 4], esi
sub esi, ebx
jbe 0x1005bfc3
shr esi, 1
mov edi, dword [esp + 0x10]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x7f4592a6
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005bee0
movzx edx, dl
cmp edx, 0xff
jne 0x1005bf2e
inc esi
mov ebx, esi
mov esi, dword [esp + 4]
sub esi, ebx
ja 0x1005beec
jmp 0x1005bfc3
mov esi, dword [esp + 0x10]
mov edx, dword [esi + eax + 4]
test edx, edx
je 0x1005bfc3
mov eax, dword [esi + eax]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
jmp 0x1005bf68
mov dword [esp + 0x2c], edx
sub edx, esi
jbe 0x1005bfc3
shr edx, 1
xor eax, eax
add edx, esi
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0x7484c14b
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1005bf60
movzx eax, al
cmp eax, 0xff
jne 0x1005bfa1
inc edx
mov esi, edx
mov edx, dword [esp + 0x2c]
sub edx, esi
ja 0x1005bf68
jmp 0x1005bfc3
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87df4
push 0x14
call fcn.10058790
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x1005c091
xor edi, edi
mov esi, ecx
jmp 0x1005bfea
mov esi, ecx
sub ecx, edi
jbe 0x1005c091
shr ecx, 1
mov edx, dword [esp + 0x10]
xor eax, eax
add ecx, edi
mov ebx, ecx
shl ebx, 4
cmp dword [edx + ebx + 0xc], 0x7f4592a6
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x1005bfe0
movzx eax, al
cmp eax, 0xff
jne 0x1005c025
inc ecx
mov edi, ecx
mov ecx, esi
sub ecx, edi
ja 0x1005bfea
jmp 0x1005c091
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebx + 4]
test ecx, ecx
je 0x1005c091
mov eax, dword [esp + 0x10]
xor edi, edi
mov esi, ecx
mov eax, dword [eax + ebx]
jmp 0x1005c046
mov esi, ecx
sub ecx, edi
jbe 0x1005c091
shr ecx, 1
xor ebx, ebx
add ecx, edi
mov edx, ecx
shl edx, 4
cmp dword [eax + edx + 0xc], 0x9dd84f83
mov edx, 0xff
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x1005c040
movzx edx, bl
cmp edx, 0xff
jne 0x1005c07f
inc ecx
mov edi, ecx
mov ecx, esi
sub ecx, edi
ja 0x1005c046
jmp 0x1005c091
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e87e08
push 0x14
call fcn.10058790
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
or eax, dword [edx + 4]
jne 0x1005cb22
mov eax, dword [esp + 8]
movaps xmm0, xmmword [0x3e81630]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x2fc], eax
je 0x1005c6fa
mov eax, dword [esp + 0xc]
movdqa xmm1, xmmword [0x3e81640]
lea ebx, [esp + 0x159]
xor edx, edx
xor esi, esi
mov dword [esp + 0x10], 0
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x2f8], edi
jmp 0x1005c14b
mov ecx, dword [esp + 0xc3]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x2f8]
lea ebx, [esp + 0x159]
mov dword [esp + 0x283], ecx
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x283]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0xf7], ecx
inc eax
cmp eax, dword [esp + 0x2fc]
je 0x1005c6d3
mov ecx, dword [esp + 0x10]
movups xmmword [esp + 0x130], xmm0
movdqu xmmword [esp + 0x140], xmm1
mov dword [esp + 0x154], esi
mov dword [esp + 0x150], edx
mov esi, eax
mov eax, dword [esp + 0xf4]
lea edx, [esp + 0x130]
mov dword [esp + 0x2f4], esi
shl esi, 4
mov byte [esp + 0x158], cl
mov ecx, dword [esp + 0xf7]
mov dword [ebx + 3], ecx
mov dword [ebx], eax
lea eax, [edi + esi]
lea ecx, [esp + 0x304]
mov dword [esp + 0x160], eax
mov eax, dword [edi + esi + 0xc]
mov dword [esp + 0x304], eax
call fcn.1002eca0
mov eax, dword [edi + esi + 4]
test eax, eax
mov dword [esp + 0xec], eax
je 0x1005c690
mov eax, dword [edi + esi]
movdqu xmm0, xmmword [esp + 0x130]
movdqu xmm1, xmmword [esp + 0x140]
mov esi, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [ebx + 3]
xor edi, edi
mov dword [esp + 0x108], eax
movzx eax, byte [esp + 0x158]
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc3], ecx
jmp 0x1005c2a3
mov eax, dword [esp + 0x93]
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xd3], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x34], ecx
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xd3]
movups xmm0, xmmword [esp + 0x30]
movdqu xmm1, xmmword [esp + 0x40]
inc edi
mov dword [esp + 0xc3], ecx
cmp edi, dword [esp + 0xec]
je 0x1005c0f0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc3]
movdqu xmmword [esp + 0x30], xmm0
movd dword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
movdqu xmmword [esp + 0x40], xmm1
pshufd xmm2, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
mov dword [esp + 0x124], edi
mov ebx, 0xfffffffd
movd dword [esp + 8], xmm0
movups xmm0, xmmword [esp + 0x38]
movd dword [esp + 0xf0], xmm2
movd dword [esp + 0x8c], xmm1
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd3], ecx
mov ecx, dword [esp + 0x108]
mov eax, edi
lea edi, [esp + 0xb9]
shl eax, 4
mov eax, dword [ecx + eax + 0xc]
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], 4
mov dword [esp + 0x128], eax
nop dword [eax]
mov eax, dword [esp + 4]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x93]
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x79]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x54], eax
movups xmmword [esp + 0x58], xmm0
mov dword [esi + 3], edx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov dword [esi], edx
movzx edx, byte [ecx]
mov ecx, eax
xor esi, esi
shl cl, 3
shld esi, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne esi, edx
cmovne edx, ecx
inc al
or esi, dword [esp + 0x2c]
or edx, dword [esp + 0xc]
test al, 7
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edx
mov byte [esp + 0x78], al
jne 0x1005c478
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x8c]
xor ecx, edx
xor eax, esi
lea edx, [esp + 0x280]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x50]
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x2a0], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x298], xmm2
movq xmm2, qword [esp + 0x50]
movsd qword [esp + 0x2a8], xmm0
movsd qword [esp + 0x290], xmm1
movq xmm1, qword [esp + 0x58]
movq qword [esp + 0x280], xmm2
movq qword [esp + 0x288], xmm1
push 1
call fcn.100098f0
add esp, 4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
movups xmm0, xmmword [esp + 0x58]
xor edx, edx
xor esi, esi
xor eax, dword [esp + 0x70]
xor ecx, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
movzx eax, byte [esp + 0x78]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x79]
test ebx, ebx
mov eax, dword [ecx]
mov ecx, dword [ecx + 3]
mov dword [esp + 0x93], ecx
mov ecx, edi
lea edi, [edi + 1]
mov dword [esp + 0x90], eax
cmove edi, ecx
je 0x1005c4a8
inc ebx
test ecx, ecx
jne 0x1005c340
mov ecx, dword [esp + 0x93]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov ebx, 0xfffffffd
mov dword [esp + 0xd3], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xf0]
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x48], edi
lea edi, [esp + 0x129]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x128]
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 4]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x93]
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x79]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x54], eax
movups xmmword [esp + 0x58], xmm0
mov dword [esi + 3], edx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov dword [esi], edx
movzx edx, byte [ecx]
mov ecx, eax
xor esi, esi
shl cl, 3
shld esi, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne esi, edx
cmovne edx, ecx
inc al
or esi, dword [esp + 0x2c]
or edx, dword [esp + 0xc]
test al, 7
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edx
mov byte [esp + 0x78], al
jne 0x1005c648
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x8c]
xor ecx, edx
xor eax, esi
lea edx, [esp + 0x280]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x50]
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x2a0], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x298], xmm2
movq xmm2, qword [esp + 0x50]
movsd qword [esp + 0x2a8], xmm0
movsd qword [esp + 0x290], xmm1
movq xmm1, qword [esp + 0x58]
movq qword [esp + 0x280], xmm2
movq qword [esp + 0x288], xmm1
push 1
call fcn.100098f0
add esp, 4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
movups xmm0, xmmword [esp + 0x58]
xor edx, edx
xor esi, esi
xor eax, dword [esp + 0x70]
xor ecx, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
movzx eax, byte [esp + 0x78]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x79]
test ebx, ebx
mov eax, dword [ecx]
mov ecx, dword [ecx + 3]
mov dword [esp + 0x93], ecx
mov ecx, edi
lea edi, [edi + 1]
mov dword [esp + 0x90], eax
cmove edi, ecx
je 0x1005c220
inc ebx
test ecx, ecx
jne 0x1005c510
jmp 0x1005c220
mov eax, dword [ebx]
movups xmm0, xmmword [esp + 0x130]
movdqu xmm1, xmmword [esp + 0x140]
mov esi, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x280], eax
mov eax, dword [ebx + 3]
mov dword [esp + 0x283], eax
movzx eax, byte [esp + 0x158]
mov dword [esp + 0x10], eax
jmp 0x1005c11a
mov eax, dword [esp + 0x10]
pshufd xmm2, xmm1, 0x55
movd ebx, xmm1
movd edi, xmm2
pshufd xmm2, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
movd ecx, xmm1
movd dword [esp + 4], xmm2
jmp 0x1005c717
mov edi, 0x9f4d7eae
mov ebx, 0x85b22284
mov dword [esp + 4], 0x92a8d606
mov ecx, 0x6c6e6d9a
xor eax, eax
xor edx, edx
xor esi, esi
mov byte [esp + 0x2a8], al
movzx eax, al
movups xmmword [esp + 0x280], xmm0
mov dword [esp + 0x290], ebx
mov dword [esp + 0x294], edi
xor ecx, edx
mov dword [esp + 0x2a0], edx
lea edx, [esp + 0x130]
shl eax, 0x18
or eax, esi
lea esi, [esp + 0x280]
mov dword [esp + 0x2a4], eax
xor eax, dword [esp + 4]
mov dword [esp + 0x298], ecx
mov ecx, esi
mov dword [esp + 0x29c], eax
movsd xmm1, qword [esp + 0x2a0]
movsd xmm2, qword [esp + 0x298]
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x148], xmm2
movsd xmm2, qword [esp + 0x280]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x288]
movsd qword [esp + 0x130], xmm2
movsd qword [esp + 0x138], xmm1
push 1
call fcn.100098f0
add esp, 4
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
lea edx, [esp + 0x130]
xor dword [esp + 0x280], ecx
xor dword [esp + 0x284], eax
not byte [esp + 0x290]
mov ecx, esi
movsd xmm1, qword [esp + 0x2a0]
movsd xmm0, qword [esp + 0x2a8]
movsd xmm2, qword [esp + 0x288]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x298]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x148], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x280]
movsd qword [esp + 0x130], xmm1
push 3
call fcn.100098f0
add esp, 4
movdqu xmm0, xmmword [esp + 0x290]
movaps xmm2, xmmword [0x3e81630]
mov edi, dword [esp + 0x310]
lea esi, [esp + 0x50]
lea ecx, [esp + 0x130]
mov edx, esi
pxor xmm0, xmmword [esp + 0x280]
movups xmmword [esp + 0x50], xmm2
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
movdqa xmmword [esp + 0x10], xmm1
movaps xmm1, xmmword [0x3e81640]
movups xmmword [esp + 0x60], xmm1
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0x78], 0
mov eax, dword [edi + 0x38]
mov dword [esp + 0x130], eax
call fcn.1002eca0
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x130]
mov edx, esi
mov dword [esp + 0x130], eax
call fcn.1002eca0
mov eax, dword [edi + 0x40]
lea ecx, [esp + 0x130]
mov edx, esi
mov dword [esp + 0x130], eax
call fcn.1002eca0
mov eax, dword [edi + 0x44]
lea ecx, [esp + 0x130]
mov edx, esi
mov dword [esp + 0x130], eax
call fcn.1002eca0
mov eax, dword [edi + 0x48]
lea ecx, [esp + 0x130]
mov edx, esi
mov dword [esp + 0x130], eax
call fcn.1002eca0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
movups xmm0, xmmword [esp + 0x50]
mov byte [esp + 0x2a8], al
shl eax, 0x18
movups xmmword [esp + 0x280], xmm0
mov dword [esp + 0x294], esi
mov dword [esp + 0x290], edx
mov dword [esp + 0x2a0], ecx
xor ecx, dword [esp + 0x68]
lea edx, [esp + 0x130]
lea esi, [esp + 0x280]
or eax, dword [esp + 0x74]
mov dword [esp + 0x2a4], eax
xor eax, dword [esp + 0x6c]
mov dword [esp + 0x298], ecx
mov ecx, esi
mov dword [esp + 0x29c], eax
movsd xmm1, qword [esp + 0x2a0]
movsd xmm2, qword [esp + 0x298]
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x148], xmm2
movsd xmm2, qword [esp + 0x280]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x288]
movsd qword [esp + 0x130], xmm2
movsd qword [esp + 0x138], xmm1
push 1
call fcn.100098f0
add esp, 4
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
lea edx, [esp + 0x130]
xor dword [esp + 0x280], ecx
xor dword [esp + 0x284], eax
not byte [esp + 0x290]
mov ecx, esi
movsd xmm1, qword [esp + 0x2a0]
movsd xmm0, qword [esp + 0x2a8]
movsd xmm2, qword [esp + 0x288]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x298]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x148], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x280]
movsd qword [esp + 0x130], xmm1
push 3
call fcn.100098f0
add esp, 4
movdqu xmm0, xmmword [esp + 0x290]
mov edx, dword [ebp + 8]
pxor xmm0, xmmword [esp + 0x280]
mov dword [edx + 4], 0
mov dword [edx], 1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd eax, xmm1
movaps xmm1, xmmword [esp + 0x10]
movd ecx, xmm0
add ecx, eax
movlps qword [edx + 8], xmm1
mov dword [edx + 0x10], ecx
lea eax, [esp + 0x50]
movaps xmm1, xmmword [0x3e81650]
mov dword [esp + 0x280], 0x3e87e2c
mov dword [esp + 0x284], 1
pxor xmm0, xmm0
lea esi, [esp + 0x30]
lea ebx, [esp + 0xd0]
mov dword [esp + 0x130], 2
mov dword [esp + 0x30], eax
lea eax, [edx + 0x10]
mov dword [esp + 0x34], 0x20
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0xd0], esi
mov ecx, ebx
mov edx, 0x3e87e34
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], 0x3e18300
mov dword [esp + 0x288], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x28c], 1
mov dword [esp + 0x290], eax
lea eax, [esp + 0x280]
movups xmmword [esp + 0x138], xmm1
mov dword [esp + 0x148], 8
mov byte [esp + 0x14c], 3
mov dword [esp + 0x294], 1
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005ffb0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
cmp esi, edx
ja 0x1005ff57
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x280], ebx
mov dword [esp + 0x130], 0x3e8aa34
lea ebx, [esp + 0x280]
mov dword [esp + 0x134], 1
mov dword [esp + 0xd0], 1
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov edx, 0x3e88274
mov ecx, ebx
add eax, 8
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], 0x3e72ca0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005ce5f
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005ce5f
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x2a], 0
je 0x1005cd00
lea edx, [esp + 0x130]
mov byte [eax + 0x2a], 0
jmp 0x1005cd64
mov dword [esp + 0x280], eax
mov edx, 0x3e87870
lea eax, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
lea ecx, [esp + 0x280]
push eax
call fcn.10006f80
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x134]
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x280], edi
mov dword [esp + 0x284], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0x30], 0x3e8795c
mov dword [esp + 0x94], 0x3e19440
mov dword [esp + 0x98], edx
mov dword [esp + 0x34], 3
mov dword [esp + 0x294], 0x7fffffff
mov dword [esp + 0x290], 0xefffffff
mov dword [esp + 0x28c], 0xffffffdf
mov dword [esp + 0x288], 0
mov byte [esp + 0x298], 0
mov dword [esp + 0x9c], 0x3e19440
mov edx, 0x3e87870
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
lea ecx, [esp + 0xf4]
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0xd8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005ce96
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xd8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0xb4]
dec dword [eax]
pxor xmm0, xmm0
xor ecx, ecx
mov dword [esp + 0x2f4], 0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movdqa xmmword [esp + 0x2a0], xmm0
movdqa xmmword [esp + 0x290], xmm0
movdqa xmmword [esp + 0x280], xmm0
mov dword [esp + 0x2df], 0
mov eax, dword [esp + 0x300]
test ecx, ecx
mov edx, dword [eax]
mov eax, dword [edx + 0x14c]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x128]
mov edx, dword [edx + 0x12c]
mov ebx, eax
je 0x1005cf2b
lea esi, [ecx - 1]
cmp edx, esi
jbe 0x1005feb7
lea esi, [ecx + ecx*4]
lea ebx, [eax + esi*8]
lea edx, [edx + edx*4]
lea edi, [eax + edx*8]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, edi
je 0x1005feb7
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, ebx
add ebx, 0x28
cmp edx, dword [esp + 0x10]
jae 0x1005cf40
mov esi, dword [eax + 0x20]
mov dword [esp + 4], ecx
mov ecx, 0x20000000
and esi, ecx
mov ecx, dword [esp + 4]
je 0x1005cf40
mov edi, dword [esp + 8]
mov dword [esp + 0x10], edx
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0x144]
mov esi, dword [edi + 0xc]
add ecx, edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x8c], ecx
mov ecx, dword [edi + 0x140]
adc esi, 0
shl ebx, 5
mov dword [esp + 0x124], esi
lea edx, [ecx - 0x20]
mov dword [esp + 8], edx
mov edx, 0xffffffff
nop dword [eax + eax]
test ebx, ebx
je 0x1005d000
mov esi, dword [esp + 0x10]
mov edi, ecx
inc edx
add dword [esp + 8], 0x20
add ebx, 0xffffffe0
add ecx, 0x20
sub esi, dword [edi]
jb 0x1005cfb0
cmp esi, dword [edi + 8]
jae 0x1005cfb0
mov esi, dword [esp + 0xc]
lea edi, [esp + 0x50]
cmp esi, edx
jbe 0x1005ff44
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x14]
add ecx, dword [edx]
mov edx, 0
sub ecx, dword [esp + 0x10]
jb 0x1005d006
mov eax, dword [eax + 8]
cmp eax, ecx
cmovb ecx, eax
mov edx, ecx
jmp 0x1005d006
lea edi, [esp + 0x50]
xor edx, edx
add edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x124]
lea eax, [esp + 0x268]
mov dword [esp + 0x130], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x268], 8
mov dword [esp + 0x26c], 0
mov dword [esp + 0x270], 0
mov dword [eax - 0x34], 0
mov dword [eax - 0x38], 0
mov dword [eax - 0x2c], 0
mov dword [eax - 0x30], 0
mov dword [eax - 0x24], 0
mov dword [eax - 0x28], 0
mov dword [eax - 0x1c], 0
mov dword [eax - 0x20], 0
mov dword [eax - 0x14], 0
mov dword [eax - 0x18], 0
mov dword [eax - 0xc], 0
mov dword [eax - 0x10], 0
mov dword [eax - 8], 0
adc ecx, 0
mov dword [esp + 0x2fc], edx
mov dword [esp + 8], edx
mov dword [esp + 0x2f8], ecx
jmp 0x1005d183
movzx ebx, byte [esp + 0xd0]
mov bh, byte [esp + 0xd1]
lea edi, [esp + 0x50]
mov ecx, dword [esp + 0x2c]
test bl, bl
je 0x1005d183
test bh, bh
jne 0x1005d472
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x124]
mov dword [esp + 0xec], ecx
cmp dword [esp + 0x8c], ebx
sbb eax, ecx
jae 0x1005e790
mov edx, ecx
mov ecx, dword [ebp + 0xc]
mov eax, ebx
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 8], eax
and eax, 0xfffff000
mov dword [esp + 0x2c], edx
mov esi, dword [ecx + 4]
or eax, dword [ecx]
or esi, edx
mov edx, dword [ecx + 8]
or eax, 4
mov ecx, edi
push esi
push eax
call fcn.10031e00
add esp, 8
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x108], ebx
test ecx, ecx
je 0x1005d280
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edx, eax
shr edx, 0x10
cmp ecx, 0xc76970a8
mov word [esp + 0x52], dx
mov dword [esp + 0x54], edi
mov byte [esp + 0x50], al
mov byte [esp + 0x51], ah
jne 0x1005d260
cmp dword [esp + 0x50], 0x76d4030
jne 0x1005d260
xor ecx, ecx
test esi, esi
mov byte [esp + 0xd0], 0
je 0x1005d24a
mov ecx, esi
call fcn.10003710
mov eax, dword [0x3e8b000]
push 4
push 8
push esi
push 0x3e8a968
call dword [eax + 0x10]
xor ecx, ecx
add esp, 0x10
mov esi, dword [esp + 0xf0]
jmp 0x1005d26f
movq xmm0, qword [esp + 0x50]
movq qword [esp + 0xd0], xmm0
mov dword [esp + 0xc], ecx
mov dword [esp + 0xf0], esi
jmp 0x1005d314
xor esi, esi
mov ecx, 0xfffffff9
lea ebx, [0x3e874ba]
lea edx, [0x3e874b9]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
nop
movzx eax, byte [edx]
mov edx, ebx
mov ah, al
add ah, 0xd0
cmp ah, 0xa
jb 0x1005d2c3
or al, 0x20
mov ah, al
add ah, 0x9f
cmp ah, 6
jae 0x1005ff2b
add al, 0xa9
mov ah, al
mov ebx, esi
movzx edi, ah
shl ebx, 4
or edi, ebx
lea ebx, [edx + 1]
test ecx, ecx
cmove ebx, edx
je 0x1005d2e4
shld dword [esp + 0x10], esi, 4
inc ecx
test edx, edx
mov esi, edi
jne 0x1005d2a0
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x1005d434
mov eax, dword [esp + 8]
mov dword [esp + 0xc], 0
and eax, 0xfff
movzx eax, byte [ecx + eax]
mov byte [esp + 0xd0], 1
mov byte [esp + 0xd1], al
xor edx, edx
mov eax, 0xfffffff9
lea edi, [0x3e88602]
lea ebx, [0x3e88601]
mov dword [esp + 0x10], 0
nop
movzx ecx, byte [ebx]
mov ebx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005d355
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005ff2b
add cl, 0xa9
mov ch, cl
mov edi, edx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [ebx + 1]
test eax, eax
cmove edi, ebx
je 0x1005d376
shld dword [esp + 0x10], edx, 4
inc eax
test ebx, ebx
mov edx, esi
jne 0x1005d330
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1005d160
movsd xmm0, qword [esp + 0xd0]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x50], eax
mov eax, dword [0x3e8b000]
movsd qword [esp + 0x54], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x90], xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x94], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x3c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x30], 0
lea edi, [esp + 0x50]
je 0x1005d400
lea ecx, [esp + 0x90]
call fcn.10003710
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
test eax, eax
je 0x1005d423
jmp 0x1005e74f
movdqa xmm0, xmmword [esp + 0x10]
mov ecx, dword [esp + 0x34]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
test eax, eax
jne 0x1005e74f
mov ecx, dword [esp + 0x2c]
test bl, bl
jne 0x1005d17b
jmp 0x1005d183
mov ecx, 0x3e8a9d1
mov edx, 0x13
xor edi, 0x2c7
call fcn.1000af30
mov ebx, eax
test eax, eax
mov esi, 1
mov ecx, 0x3e8a9ad
mov edx, 6
cmove ebx, esi
call fcn.1000af30
test eax, eax
mov ecx, ebx
cmove eax, esi
xor esi, esi
jmp 0x1005d1f6
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x124]
mov ebx, edi
mov eax, dword [esp + 0x26c]
mov edx, dword [esp + 0x268]
mov dword [esp + 0xc], ebx
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x1005d4b0
add edx, 0x28
add edi, 0xffffffd8
test esi, esi
mov esi, ebx
mov ebx, dword [esp + 0xc]
jne 0x1005d4e0
test edi, edi
je 0x1005d620
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
xor eax, ebx
xor ecx, esi
mov ebx, esi
xor esi, esi
or ecx, eax
jne 0x1005d4a0
mov eax, dword [edx + 4]
mov esi, dword [edx]
mov ecx, eax
shl eax, 2
shr ecx, 0x1e
jmp 0x1005d4a0
add ebx, eax
mov dword [esp + 0x130], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
adc esi, ecx
cmp ebx, dword [esp + 0x108]
mov edx, esi
sbb edx, dword [esp + 0xec]
lea edx, [esp + 0x268]
mov dword [edx - 0x34], 0
mov dword [edx - 0x38], 0
mov dword [edx - 0x2c], 0
mov dword [edx - 0x30], 0
mov dword [edx - 0x24], 0
mov dword [edx - 0x28], 0
mov dword [edx - 0x1c], 0
mov dword [edx - 0x20], 0
mov dword [edx - 0x14], 0
mov dword [edx - 0x18], 0
mov dword [edx - 0xc], 0
mov dword [edx - 0x10], 0
mov dword [edx - 8], 0
jae 0x1005e789
or eax, ecx
jne 0x1005d482
jmp 0x1005e789
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
lea ecx, [esp + 0x50]
movdqa xmmword [esp + 0xd0], xmm0
mov edx, dword [eax]
push 4
push 0x10
mov dword [esp + 0x10c], esi
lea esi, [esp + 0xd8]
push esi
mov esi, dword [esp + 0x110]
push esi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10036470
add esp, 0x1c
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x10], ecx
jne 0x1005fc04
mov eax, dword [esp + 0xd0]
and eax, dword [esp + 0xd4]
cmp eax, 0xffffffff
je 0x1005fc3f
mov bl, 6
mov cl, 1
mov dl, 1
xor eax, eax
mov dword [esp + 0x118], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0
jmp 0x1005d6ce
inc eax
mov ebx, edx
mov edx, edi
cmp eax, 0x10
je 0x1005e6fe
mov bh, byte [esp + eax + 0xd0]
mov edi, edx
movzx esi, bh
cmp esi, 0xef
jg 0x1005d710
add esi, 0xfffffff1
cmp esi, 0x58
ja 0x1005d782
mov esi, dword [esi*4 + 0x3e6f4ec]
xor edx, edx
add esi, dword [esp + 0x2f0]
jmp esi
cmp esi, 0xf0
je 0x1005d75f
cmp esi, 0xf2
je 0x1005d76f
cmp esi, 0xf3
jne 0x1005d782
mov dl, 1
mov dword [esp + 8], edx
mov dl, 1
mov dword [esp + 0x2c], edx
mov edx, ebx
jmp 0x1005d6c0
mov dl, 1
mov dword [esp + 0xb4], edx
mov edx, ebx
jmp 0x1005d6c0
mov dl, 2
mov dword [esp + 0x2c], edx
mov dl, 3
mov dword [esp + 8], edx
mov edx, ebx
jmp 0x1005d6c0
mov dl, bh
and dl, 0xf0
cmp dl, 0x40
jne 0x1005d7ce
test bh, 8
movzx ecx, cl
mov edx, 2
cmovne ecx, edx
mov dl, bh
mov dword [esp + 0x118], edx
mov edx, ebx
jmp 0x1005d6c0
mov edx, edi
mov edi, 0xf
lea esi, [esp + eax + 0xd1]
mov dword [esp + 0x110], 0
and dl, 1
sub edi, eax
mov dword [esp + 0x120], esi
jmp 0x1005d846
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0xb4]
and dl, 1
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0x120]
mov edx, esi
shr edx, 0x18
mov byte [esp + 0x93], dl
mov edx, esi
shr edx, 8
mov word [esp + 0x91], dx
mov dword [esp + 0x94], edi
mov byte [esp + 0x98], al
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
mov byte [esp + 0x99], al
mov eax, dword [esp + 8]
mov byte [esp + 0x9a], bh
mov byte [esp + 0x9b], bl
mov byte [esp + 0x9c], dl
test dl, dl
mov byte [esp + 0x9d], al
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x9e], cl
mov byte [esp + 0x9f], al
mov eax, dword [esp + 0x100]
mov byte [esp + 0xa0], al
mov eax, esi
mov byte [esp + 0x90], al
mov eax, dword [esp + 0xb4]
mov byte [esp + 0xa1], al
je 0x1005d920
mov edi, dword [esp + 0xc]
mov eax, edx
lea ecx, [esp + 0x50]
lea edx, [esp + 0x90]
movzx eax, al
cmp eax, 1
jne 0x1005fd7a
call fcn.1000f3a0
jmp 0x1005d934
lea ecx, [esp + 0x50]
lea edx, [esp + 0x90]
call fcn.1000d620
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
movzx eax, byte [esp + 0x54]
cmp ebx, 0x30c
je 0x1005fd7c
lea esi, [esp + 0x70]
lea edi, [esp + 0x35]
movzx edx, al
mov dword [esp + 8], ebx
mov ecx, dword [esi - 4]
movsd xmm2, qword [esi - 0x1b]
movsd xmm1, qword [esi - 0x13]
movsd xmm0, qword [esi - 0xb]
mov dword [edi + 0x17], ecx
lea ecx, [ebx - 2]
movsd qword [edi + 0x10], xmm0
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm2
mov dword [esp + 0x30], ebx
mov byte [esp + 0x34], al
mov eax, 0x294
mov bl, 2
cmp ecx, 0x30a
cmovb eax, ecx
mov esi, dword [eax*4 + 0x3e6f650]
lea eax, [esp + 0x30]
add esi, dword [esp + 0x2f0]
jmp esi
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x104]
mov edi, dword [esp + 0xc]
and eax, 0xffffff00
or eax, 3
mov dword [esp + 0x120], eax
movaps xmm0, xmmword [esp + 0xd0]
mov byte [esp + 0x8a], al
mov eax, edi
mov esi, 0x30d
mov bh, ah
mov bl, al
movaps xmmword [esp + 0x310], xmm0
shr eax, 0x10
mov dword [esp + 0xec], ecx
mov edi, eax
jmp 0x1005e79e
movaps xmm1, xmmword [esp + 0x310]
mov edx, ebx
movd xmm0, ecx
xor esi, 0x1f2
mov dword [esp + 0x114], eax
shr edx, 0x10
mov dword [esp + 0xec], esi
mov esi, 0x30e
mov edi, edx
movss xmm1, xmm0
movaps xmmword [esp + 0x310], xmm1
jmp 0x1005e79e
mov ebx, dword [esp + 0x108]
mov eax, ebx
mov esi, 0x30c
shr eax, 0x10
mov edi, eax
mov eax, ebx
mov edx, 8
mov ecx, 0x28
push dword [esp + 0x270]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005e7d5
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x270]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
cmp esi, 0x30f
je 0x1005feb7
movzx eax, word [esp + 0xbc]
mov dword [esp + 0x130], 0x3e8849c
mov dword [esp + 0x134], 2
mov dword [esp + 8], esi
lea ecx, [esp + 0x90]
mov edx, 0x3e884ac
mov word [esp + 0x308], ax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x90], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005ff87
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
cmp esi, edx
ja 0x1005ff57
mov eax, dword [esp + 0x50]
movss xmm0, dword [esp + 0x2fc]
movss xmm1, dword [esp + 0x2f8]
movss xmm3, dword [esp + 0x8c]
movss xmm2, dword [esp + 0x124]
shl edi, 0x10
mov dword [esp + 0x130], 0x3e8aa34
mov dword [esp + 0x134], 1
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0x50]
mov edx, 0x3e88274
mov dword [esp + 0x10], edi
movzx edi, bh
shl edi, 8
mov dword [esp + 0xc], eax
lea eax, [esp + 0xd0]
unpcklps xmm0, xmm1
unpcklps xmm3, xmm2
mov dword [esp + 0x128], eax
lea eax, [esp + 0xc0]
movlhps xmm3, xmm0
mov dword [esp + 0x50], eax
lea eax, [esp + 0x128]
movups xmmword [esp + 0xd0], xmm3
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xf8], 0x3e703f0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005eb31
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005eb31
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x2a], 0
je 0x1005e9db
mov byte [eax + 0x2a], 0
jmp 0x1005ea40
mov dword [esp + 0x50], eax
mov dword [esp + 0x8c], edx
mov edx, 0x3e87870
lea eax, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
lea ecx, [esp + 0x50]
push eax
call fcn.10006f80
mov edx, dword [esp + 0x90]
mov eax, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x30], 0x3e8795c
mov dword [esp + 0x34], 3
mov dword [esp + 0x130], edx
mov edx, 0x3e87870
mov dword [esp + 0x90], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x94], 0x3e19440
mov dword [esp + 0x98], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x9c], 0x3e19440
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x60], 0xefffffff
mov dword [esp + 0x5c], 0xffffffdf
mov dword [esp + 0x58], 0
mov byte [esp + 0x68], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
lea ecx, [esp + 0xb8]
push eax
call fcn.10006f80
add esp, 4
mov esi, dword [esp + 0x10]
mov edx, 1
mov ecx, 1
or esi, edi
push dword [esp + 0xc8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005eb6e
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xc8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, dword [esp + 8]
movzx eax, bl
lea edi, [esp + 0x50]
or esi, eax
mov dword [esp + 0x10], esi
cmp edx, 0x30e
je 0x1005fecc
lea eax, [edx - 0x30c]
inc dword [esp + 0x2f4]
mov ecx, 2
cmp eax, 2
cmovae eax, ecx
cmp eax, 2
je 0x1005ee29
cmp eax, 1
lea ebx, [esp + 0x90]
jne 0x1005f1fb
movzx eax, byte [esp + 0x8a]
movaps xmm0, xmmword [esp + 0x310]
mov dword [esp + 0x130], 0x3e884ec
mov dword [esp + 0x134], 2
mov dword [esp + 0x90], edi
mov ecx, ebx
mov edx, 0x3e884ac
mov byte [esp + 0x8b], al
lea eax, [esp + 0x280]
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1006001c
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
cmp eax, edx
ja 0x1005ff9f
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x130]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x130], ecx
mov ecx, dword [ebp + 0x10]
push esi
push eax
call fcn.100589a0
add esp, 8
lea eax, [esp + 0x280]
mov dword [esp + 0x130], 0x3e88518
mov dword [esp + 0x90], edi
mov dword [esp + 0x134], 2
mov ecx, ebx
mov edx, 0x3e884ac
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push esi
call fcn.10006f80
add esp, 4
test al, al
jne 0x10060034
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
ja 0x1005ff5b
lea eax, [esp + 0x8b]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x130], 0x3e8aa34
mov dword [esp + 0x134], 1
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov ecx, edi
mov edx, 0x3e88274
mov dword [esp + 0x128], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x128]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xf8], 0x3e703a0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005f58d
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005f58d
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x2a], 0
je 0x1005f448
mov ecx, edi
lea edi, [esp + 0x130]
mov byte [eax + 0x2a], 0
jmp 0x1005f4a9
mov eax, dword [esp + 0x114]
mov dword [esp + 0x50], edx
movaps xmm0, xmmword [esp + 0x310]
lea ecx, [esp + 0x70]
lea edi, [esp + 0x90]
mov dword [esp + 0x130], 0x3e884ec
mov dword [esp + 0x134], 2
mov edx, 0x3e884ac
mov dword [esp + 0x138], edi
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x8a]
movups xmmword [esp + 0x60], xmm0
mov byte [esp + 0x70], al
movzx eax, byte [esp + 0x11f]
mov byte [esp + 0x71], al
movzx eax, word [esp + 0x308]
mov word [ecx + 6], ax
mov eax, dword [esp + 0x304]
mov dword [ecx + 2], eax
movzx eax, byte [esp + 0x11e]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x8b], al
lea eax, [esp + 0x280]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x63
mov dword [esp + 0x38], 0
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x94], 0x3e15870
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10060049
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x32c]
mov esi, dword [esp + 0x328]
cmp eax, edx
ja 0x1005ff9f
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x134], esi
lea esi, [esp + 0x130]
push esi
push eax
call fcn.100589a0
add esp, 8
lea eax, [esp + 0x280]
xorps xmm0, xmm0
mov dword [esp + 0xc0], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x30], 0x3e88518
mov dword [esp + 0x34], 2
lea ecx, [esp + 0xc0]
mov edx, 0x3e884ac
mov dword [esp + 0x90], eax
lea eax, [esp + 0x10c]
movaps xmmword [esp + 0x180], xmm0
mov dword [esp + 0x94], 0x63
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x18f], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xd4], 0x3e15870
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 0
push edi
call fcn.10006f80
add esp, 4
test al, al
jne 0x1006005e
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
cmp ebx, edx
ja 0x1005ff5b
lea eax, [esp + 0x130]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x30], 0x3e885c0
mov dword [esp + 0x34], 2
lea ecx, [esp + 0xc0]
mov edx, 0x3e884ac
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xd4], 0x63
mov dword [esp + 0xd8], 0
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x8b]
mov dword [esp + 0x94], 0x3e16ab0
mov dword [esp + 0x98], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x9c], 0x3e16ab0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
push edi
call fcn.10006f80
add esp, 4
test al, al
jne 0x10060073
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
cmp ecx, edx
ja 0x1005ffa1
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0
mov dword [esp + 0x30], 0x3e8aa34
mov dword [esp + 0xfc], 0
mov dword [esp + 0x34], 1
mov edx, 0x3e88274
mov dword [esp + 0x128], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x12c], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x128]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], 0x3e72a80
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 0
push edi
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005fa3d
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005fa3d
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
cmp byte [eax + 0x2a], 0
je 0x1005f8e9
lea edi, [esp + 0x30]
mov byte [eax + 0x2a], 0
jmp 0x1005f946
lea ecx, [esp + 0x280]
lea eax, [esp + 0x130]
mov dword [esp + 0x130], 0x3e884ec
mov dword [esp + 0x90], edi
mov dword [esp + 0x134], 2
mov edx, 0x3e884ac
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
mov ecx, ebx
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10060088
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
cmp eax, edx
ja 0x1005ff9f
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x130]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x130], ecx
mov ecx, dword [ebp + 0x10]
push esi
push eax
call fcn.100589a0
add esp, 8
lea eax, [esp + 0x280]
mov dword [esp + 0x130], 0x3e88518
mov dword [esp + 0x90], edi
mov dword [esp + 0x134], 2
mov ecx, ebx
mov edx, 0x3e884ac
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push esi
call fcn.10006f80
add esp, 4
test al, al
jne 0x1006009d
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
ja 0x1005ff5b
mov esi, dword [esp + 0x50]
lea eax, [esp + 0xd0]
mov dword [esp + 0x130], 0x3e8aa34
mov dword [esp + 0x134], 1
mov dword [esp + 0xf4], 0x3e88538
mov dword [esp + 0xd0], 1
mov dword [esp + 0xd4], 0
mov dword [esp + 0xf8], 4
mov dword [esp + 0xd8], 0
mov ecx, edi
mov edx, 0x3e88274
mov dword [esp + 0x50], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], 0x3e2d110
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005f8a9
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005f8a9
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
cmp byte [eax + 0x2a], 0
je 0x1005f762
lea edi, [esp + 0x130]
mov byte [eax + 0x2a], 0
jmp 0x1005f7c7
mov ecx, edi
mov dword [esp + 8], edx
mov edx, 0x3e87870
lea edi, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x140], 0
push edi
call fcn.10006f80
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x54]
add esp, 4
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], 0x3e19440
mov dword [esp + 0x98], edi
mov dword [esp + 0x30], 0x3e8795c
mov dword [esp + 0x34], 3
mov edi, ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x60], 0xefffffff
mov dword [esp + 0x5c], 0xffffffdf
mov dword [esp + 0x58], 0
mov byte [esp + 0x68], 0
mov dword [esp + 0x9c], 0x3e19440
lea ecx, [esp + 0xb8]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x134], edx
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
mov edx, 0x3e87870
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0xc8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005f5c4
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xc8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea eax, [esp + 0x280]
mov dword [esp + 0x130], 0x3e88568
mov dword [esp + 0x134], 2
mov dword [esp + 0x90], edi
lea ecx, [esp + 0x90]
mov edx, 0x3e884ac
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x54], 0x63
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0x3e15870
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x100600b2
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
ja 0x1005ff5b
lea eax, [esp + 0xd0]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x130], 0x3e8aa34
mov dword [esp + 0x134], 1
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov ecx, edi
mov edx, 0x3e88274
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], 0x10
mov dword [esp + 0x30c], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30c]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0xf8], 0x3e704a0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1005fbc4
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x28], 2
jb 0x1005fbc4
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
cmp byte [eax + 0x2a], 0
je 0x1005fa7d
lea edi, [esp + 0x130]
mov byte [eax + 0x2a], 0
jmp 0x1005fae2
mov dword [esp + 0x10], ecx
mov ecx, edi
mov dword [esp + 8], edx
mov edx, 0x3e87870
lea edi, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x140], 0
push edi
call fcn.10006f80
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 4
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x30], 0x3e8795c
mov dword [esp + 0x34], 3
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x60], 0xefffffff
mov dword [esp + 0x5c], 0xffffffdf
mov dword [esp + 0x58], 0
mov byte [esp + 0x68], 0
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
lea ecx, [esp + 0xb8]
mov edx, 0x3e87870
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], 0x3e19440
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0x3e19440
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0xd8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005f8e0
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xd8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, dword [esp + 4]
jmp 0x1005cef1
lea edi, [esp + 0x90]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edx
mov edx, 0x3e87870
mov dword [esp + 0x30], 0x3e87948
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 0x3e8a968
mov dword [esp + 0x3c], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x40], 0
mov ecx, edi
lea edi, [esp + 0x30]
push edi
call fcn.10006f80
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 4
mov dword [esp + 0x30c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xd0], 0x3e8795c
mov dword [esp + 0xd4], 3
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa4], 0x7fffffff
mov dword [esp + 0xa0], 0xefffffff
mov dword [esp + 0x9c], 0xffffffdf
mov dword [esp + 0x98], 0
mov byte [esp + 0xa8], 0
mov dword [esp + 0x44], 0x7fffffff
mov dword [esp + 0x40], 0xefffffff
mov dword [esp + 0x3c], 0xffffffdf
mov dword [esp + 0x38], 0
mov byte [esp + 0x48], 0
lea ecx, [esp + 0x30c]
mov edx, 0x3e87870
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], 0x3e19440
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0x3e19440
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xdc], 2
mov dword [esp + 0xe0], 0
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0xfc]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005fa74
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xfc]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, dword [esp + 4]
jmp 0x1005cef1
mov dword [esp + 0x10], ecx
mov ecx, edi
mov dword [esp + 8], edx
mov edx, 0x3e87870
lea edi, [esp + 0x130]
mov dword [esp + 0x130], 0x3e87948
mov dword [esp + 0x134], 1
mov dword [esp + 0x138], 0x3e8a968
mov dword [esp + 0x13c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x140], 0
push edi
call fcn.10006f80
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 4
mov dword [esp + 0x128], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x30], 0x3e8795c
mov dword [esp + 0x34], 3
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x60], 0xefffffff
mov dword [esp + 0x5c], 0xffffffdf
mov dword [esp + 0x58], 0
mov byte [esp + 0x68], 0
mov dword [esp + 0x144], 0x7fffffff
mov dword [esp + 0x140], 0xefffffff
mov dword [esp + 0x13c], 0xffffffdf
mov dword [esp + 0x138], 0
mov byte [esp + 0x148], 0
lea ecx, [esp + 0x128]
mov edx, 0x3e87870
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], 0x3e19440
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0x3e19440
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
push eax
call fcn.10006f80
add esp, 4
mov edx, 1
mov ecx, 1
push dword [esp + 0xc8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005fbfb
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xc8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, dword [esp + 4]
jmp 0x1005cef1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
movss xmm0, dword [esp + 0x5c]
movaps xmm1, xmmword [esp + 0x310]
mov dword [esp + 0x114], eax
mov esi, 0x30e
mov bh, ch
movss xmm1, xmm0
mov bl, cl
mov eax, ecx
mov ecx, edx
movaps xmmword [esp + 0x310], xmm1
jmp 0x1005e741
mov ecx, ebx
mov ecx, esi
mov eax, ebx
mov esi, 0x30c
jmp 0x1005e741
xor eax, eax
mov ecx, dword [esp + 0x104]
jmp 0x1005e71f
mov esi, dword [esp + 0x320]
mov dword [esi], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x114]
mov esi, dword [esp + 0x320]
test eax, eax
je 0x1005febe
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x310]
mov ecx, dword [ebp + 0x10]
mov edx, 0x3e885f3
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x138], eax
lea eax, [esp + 0x130]
movss dword [esp + 0x13c], xmm0
push eax
push 0xd
call fcn.100582c0
add esp, 8
jmp 0x1005febe
mov ecx, 0x3e8a5f4
mov edx, 0xe
push 0x3e82e44
call fcn.10006dd0
add esp, 4
ud2
mov ecx, edx
mov edx, esi
push 0x3e87438
call fcn.10006410
add esp, 4
ud2
mov ecx, esi
jmp 0x1005ffa1
mov ecx, ebx
jmp 0x1005ffa1
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e884d0
jmp 0x100600c5
mov ecx, eax
push 0x3e83108
call fcn.100068e0
add esp, 4
ud2
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e87e4c
push 0x3e87ea0
push esi
jmp 0x100600cb
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e8853c
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e8854c
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e88588
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e88598
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e885d0
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e884fc
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e88528
jmp 0x100600c5
lea eax, [esp + 0x30]
mov ecx, 0x3e8a738
mov edx, 0x2b
push 0x3e88578
push 0x3e88654
push eax
call fcn.10007620
add esp, 0xc
ud2