Function at 0x448960
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0x582e50]
mov esi, dword [ebp + 8]
xor eax, ebp
lea ebx, [esi + 1]
mov dword [esp + 0x108], eax
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x28], esi
jmp 0x4489a1
inc ebx
movzx eax, byte [ebx - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x4489a0
cmp ecx, 0x2a
jg 0x4489c4
cmp ecx, 0x20
je 0x4489a0
test ecx, ecx
je 0x44af74
jmp 0x4489e7
cmp ecx, 0x2d
je 0x4489d2
cmp ecx, 0x2b
jne 0x4489e7
xor edi, edi
jmp 0x4489d7
mov edi, 1
mov al, byte [ebx]
test al, al
je 0x44af74
cmp al, 0x30
jne 0x448a0d
jmp 0x4489f0
dec ebx
xor edi, edi
cmp al, 0x30
jne 0x448a0d
nop
movzx eax, byte [ebx + 1]
inc ebx
cmp al, 0x30
je 0x4489f0
test al, al
jne 0x448a17
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x44af81
jmp 0x44af83
mov dword [esp + 0x24], 0
jmp 0x448a1f
mov dword [esp + 0x24], 1
mov edx, eax
movsx ecx, al
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], ebx
add dl, 0xd0
mov dword [esp + 0x10], ecx
cmp dl, 9
ja 0x448ac1
xor esi, esi
xor edi, edi
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 8
ja 0x448a70
mov ecx, dword [esp + 0x10]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*2 - 0x30]
jmp 0x448a80
cmp edx, 0x10
ja 0x448a80
mov ecx, dword [esp + 0x10]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*2 - 0x30]
movzx eax, byte [ebx + edx + 1]
inc edx
mov ah, al
movsx ecx, al
add ah, 0xd0
mov dword [esp + 0x10], ecx
cmp ah, 0xa
jb 0x448a50
mov dword [esp + 0x40], edx
lea edx, [ebx + edx]
cmp edx, ebx
jbe 0x448ad9
mov ecx, edx
mov dword [esp + 8], 0
nop dword [eax]
cmp byte [ecx - 1], 0x30
jne 0x448ae1
inc dword [esp + 8]
dec ecx
cmp ecx, ebx
ja 0x448ab0
jmp 0x448ae1
mov dword [esp + 0x40], 0
mov edx, ebx
xor esi, esi
xor edi, edi
mov dword [esp + 8], 0
jmp 0x448ae3
mov dword [esp + 8], 0
mov ebx, edx
cmp al, 0x2e
mov dword [esp + 0x44], 0
jne 0x448b2a
lea eax, [edx + 1]
movsx ebx, byte [edx + 1]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x40]
mov dword [esp], 0
mov edx, eax
mov dword [esp + 0xc], eax
sub edx, dword [esp + 0x3c]
mov eax, edx
mov dword [esp + 0x58], edx
sub eax, ecx
test ecx, ecx
mov dword [esp + 0x2c], eax
je 0x448b53
xor edx, edx
mov dword [esp + 0x34], ecx
jmp 0x448be0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
xor ebx, ebx
mov dword [esp + 0x58], ecx
mov edx, ecx
mov dword [esp + 4], ecx
jmp 0x448caf
mov ecx, dword [esp + 4]
cmp bl, 0x30
mov dword [esp + 0x10], ebx
jne 0x448b87
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movsx eax, byte [ecx + ebx + 2]
inc ebx
cmp eax, 0x30
je 0x448b70
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add ecx, ebx
jmp 0x448b8d
mov ecx, dword [esp + 0xc]
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
lea eax, [eax - 0x31]
cmp eax, 8
ja 0x448bc5
mov eax, dword [esp + 0x3c]
mov dword [esp], ebx
mov ebx, ecx
xor edx, edx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x10]
sub eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
lea ecx, [eax + ecx]
mov dword [esp + 0x58], ecx
xor ecx, ecx
jmp 0x448bec
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], 0
mov dword [esp + 0x20], 0
mov edx, ecx
jmp 0x448caf
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x448c96
mov eax, ecx
add ebx, 0xffffffd0
lea ecx, [edx + 1]
mov dword [esp + 0x10], ebx
je 0x448c58
add dword [esp], ecx
mov ecx, eax
inc eax
cmp ecx, 9
setl bl
test edx, edx
jle 0x448c60
add ecx, edx
mov dword [esp + 4], ecx
mov ecx, eax
test bl, 1
je 0x448c20
add edi, edi
lea edi, [edi + edi*4]
jmp 0x448c2c
lea eax, [esi + esi]
cmp ecx, 0x12
lea eax, [eax + eax*4]
cmovl esi, eax
cmp ecx, 9
lea eax, [ecx + 1]
setl bl
dec edx
jne 0x448c10
mov eax, dword [esp + 4]
inc eax
cmp ecx, 9
jge 0x448c65
mov edx, dword [esp + 0x10]
lea ecx, [edi + edi*4]
mov dword [esp + 8], 0
lea edi, [edx + ecx*2]
xor edx, edx
jmp 0x448c5a
mov edx, ecx
mov ecx, dword [esp + 0xc]
jmp 0x448c86
cmp ecx, 8
jle 0x448c42
mov ecx, dword [esp + 0xc]
xor edx, edx
cmp eax, 0x11
jg 0x448c7e
mov ebx, ecx
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x10]
lea esi, [esi + ecx*2]
mov ecx, ebx
mov dword [esp + 8], 0
movsx ebx, byte [ecx + 1]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, eax
jmp 0x448be0
mov eax, dword [esp]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], ecx
mov ebx, edx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], edx
or eax, 0x20
cmp eax, 0x65
jne 0x448cfd
mov eax, ebx
or eax, dword [esp + 0x24]
or eax, dword [esp + 4]
mov eax, dword [ebp + 0xc]
je case.0x448f2a.74
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], 0
movsx eax, byte [ecx + 1]
cmp eax, 0x2b
je 0x448cf4
cmp eax, 0x2d
jne 0x448d05
mov dword [esp + 0x28], 1
movsx eax, byte [ecx + 2]
lea edx, [ecx + 2]
jmp 0x448d08
mov eax, dword [ebp + 0xc]
jmp 0x448dfe
lea edx, [ecx + 1]
mov ecx, eax
lea eax, [eax - 0x30]
mov dword [esp + 0x44], 0
cmp eax, 9
ja 0x448d3c
cmp ecx, 0x30
mov dword [esp], ebx
jne 0x448d54
mov ecx, dword [esp + 0xc]
nop word cs:[eax + eax]
movsx eax, byte [edx + 1]
inc edx
cmp eax, 0x30
je 0x448d30
jmp 0x448d5a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
jmp 0x448dfe
mov eax, ecx
mov ecx, dword [esp + 0xc]
mov ebx, eax
lea eax, [eax - 0x31]
cmp eax, 8
ja 0x448de8
movsx eax, byte [edx + 1]
add ebx, 0xffffffd0
lea ecx, [edx + 1]
mov dword [esp + 0x10], ebx
mov ebx, eax
add al, 0xd0
cmp al, 9
ja 0x448da3
nop
mov eax, dword [esp + 0x10]
cmp eax, 0xcccccca
jg 0x448d96
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2 - 0x30]
mov dword [esp + 0x10], eax
movsx eax, byte [ecx + 1]
inc ecx
mov ebx, eax
add al, 0xd0
cmp al, 0xa
jb 0x448d80
mov eax, ecx
sub eax, edx
mov edx, dword [esp + 0x10]
cmp eax, 8
mov eax, 0x4e1f
cmovg edx, eax
cmp dword [esp + 0x10], 0x4e1f
mov eax, 0x4e1f
mov dword [esp + 0x10], ebx
cmovg edx, eax
mov eax, edx
neg eax
cmp dword [esp + 0x28], 0
cmove eax, edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], edx
jmp 0x448df4
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp]
mov edx, dword [esp + 4]
test edx, edx
je 0x448e85
movq xmm2, qword [0x530120]
test ecx, ecx
movd xmm0, edi
mov eax, 0x11
cmove ecx, edx
cmp edx, 0x12
cmovl eax, edx
mov dword [esp + 0x40], ecx
mov ecx, edx
cmp eax, 0xa
por xmm0, xmm2
subsd xmm0, xmm2
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xc8], xmm0
jl 0x448e98
mulsd xmm0, qword [eax*8 + str.aCoc]
movd xmm1, esi
por xmm1, xmm2
subsd xmm1, xmm2
addsd xmm0, xmm1
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xc0], xmm0
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
jmp 0x448ea9
or ebx, dword [esp + 0x24]
je 0x448f0f
mov edi, dword [esp + 0x30]
jmp 0x44cf1f
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
sub esi, dword [esp + 0x20]
cmp ecx, 0xf
jg 0x448fa8
fnstcw word [esp + 0x74]
mov ecx, dword [esp + 0x74]
mov ebx, ecx
shr ecx, 0xb
shr ebx, 9
and ecx, 1
and ebx, 2
lea ecx, [ecx + ebx + 1]
and ecx, 3
cmp ecx, 1
mov ecx, dword [esp + 4]
jne 0x448fa8
test esi, esi
je 0x44ca72
mov edx, esi
jle 0x448f6f
cmp edx, 0x16
jg 0x448f8d
mulsd xmm0, qword [edx*8 + 0x5373b0]
jmp 0x44afeb
cmp dword [esp + 0x2c], 0
jne case.0x448f2a.74
mov ecx, dword [esp + 0x10]
add ecx, 0xffffffb7
cmp ecx, 0x25
ja case.0x448f2a.74
jmp dword [ecx*4 + 0x5375c4]
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x30]
mov ecx, 0x5373a0
movsx edx, byte [ecx]
lea ebx, [eax + 1]
mov dword [esp + 0xc], ebx
test edx, edx
je 0x44b020
movsx eax, byte [ebx]
inc ecx
mov ebx, eax
lea esi, [eax + 0x20]
add bl, 0xbf
cmp bl, 0x1a
cmovae esi, eax
mov eax, dword [esp + 0xc]
cmp esi, edx
je 0x448f3e
jmp 0x44af74
mov esi, edx
cmp edx, 0xffffffea
mov edx, dword [esp + 0x34]
jl 0x448fa8
shl esi, 3
mov eax, 0x5373b0
sub eax, esi
divsd xmm0, qword [eax]
jmp 0x44afeb
mov ecx, 0x25
mov esi, edx
sub ecx, dword [esp + 4]
cmp edx, ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x34]
jle 0x44afd0
sub ecx, eax
mov dword [esp + 0x64], esi
add ecx, esi
jle 0x449002
mov eax, ecx
and eax, 0xf
je 0x448fdf
mulsd xmm0, qword [eax*8 + 0x5373b0]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xe8], xmm0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, ecx
and eax, 0xfffffff0
je 0x449184
cmp eax, 0x135
jl 0x449085
mov dword [esp + 0x24], 0
jmp 0x449133
test ecx, ecx
mov dword [esp + 0x48], 0
jns 0x44918c
mov eax, ecx
neg eax
mov ebx, eax
and ebx, 0xf
je 0x44904d
divsd xmm0, qword [ebx*8 + 0x5373b0]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xb8], xmm0
mov esi, dword [esp + 0xb8]
mov dword [esp], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x10], esi
mov ebx, eax
sar ebx, 4
je 0x44918c
cmp ecx, 0xfffffe01
mov dword [esp + 0x24], 0
jge 0x44ae9d
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
jmp 0x44ca08
cmp ecx, 0x20
mov dword [esp + 0x24], 0
jb 0x4490dd
shr ecx, 4
xor eax, eax
nop word [eax + eax]
test cl, 1
je 0x4490cb
mulsd xmm0, qword [eax*8 + 0x537468]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xe0], xmm0
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xc]
mov ebx, ecx
inc eax
shr ebx, 1
cmp ecx, 3
mov ecx, ebx
ja 0x4490a0
jmp 0x4490e3
mov esi, dword [esp + 0xc]
xor eax, eax
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [eax*8 + 0x537468]
mov dword [esp + 0xc], esi
add ecx, 0xfcb00000
mov dword [esp + 0xf4], ecx
mulsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xd8], xmm0
mov eax, dword [esp + 0xdc]
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ca00000
jbe 0x449158
lea ecx, [esp + 0xf0]
xor esi, esi
mov dword [esp + 0x28], 0
mov dword [esp], 0
mov dword [esp + 0x1c], 0
jmp 0x44ca85
cmp ecx, 0x7c900001
jb 0x449178
mov dword [esp + 0xf4], 0x7fefffff
mov dword [esp + 0xf0], 0xffffffff
jmp 0x449184
add eax, 0x3500000
mov dword [esp + 0xf4], eax
mov dword [esp + 0x48], 0
mov eax, dword [esp + 4]
cmp eax, 0x29
jl 0x44923d
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x40], 0x12
mov ecx, 0x12
mov ebx, edx
lea eax, [eax + 0x12]
cmovl ecx, eax
lea eax, [edx - 1]
mov dword [esp + 0x10], eax
mov eax, 0x13
nop dword [eax + eax]
lea edx, [ecx - 1]
cmp ecx, ebx
mov esi, edx
cmovg esi, dword [esp + 0x10]
cmp ecx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
cmovg esi, edx
dec eax
cmp byte [ecx + esi], 0x30
mov ecx, esi
je 0x4491c0
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
add ebx, dword [esp + 4]
mov edx, ecx
sub ebx, dword [esp + 0x20]
sub ebx, eax
cmp ecx, eax
mov ecx, eax
cmovg edx, eax
cmp eax, 8
mov dword [esp + 0x44], ebx
mov dword [esp + 0x24], edx
jg 0x44924f
test edx, edx
mov dword [esp + 0x38], ecx
jle 0x44ae57
mov esi, dword [esp + 0x3c]
xor edi, edi
xor eax, eax
nop dword [eax]
movsx edx, byte [esi + eax]
lea ecx, [edi + edi*4]
inc eax
lea edi, [edx + ecx*2 - 0x30]
mov edx, dword [esp + 0x24]
cmp eax, edx
jl 0x449220
mov ecx, dword [esp + 0x38]
jmp 0x44ae5b
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
mov ecx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], ecx
lea ecx, [ecx + 8]
mov edx, 0x38e38e39
xor ebx, ebx
mov eax, ecx
imul edx
cmp ecx, 0x12
jl 0x449287
mov eax, edx
sar edx, 1
xor ebx, ebx
shr eax, 0x1f
add edx, eax
mov eax, 1
nop word cs:[eax + eax]
add eax, eax
inc ebx
cmp edx, eax
jg 0x449280
mov esi, dword [0x588550]
cmp esi, 1
ja 0x4492d3
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x4492cd
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x4492d3
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
cmp ebx, 7
ja 0x4492f9
mov eax, dword [ebx*4 + 0x588530]
test eax, eax
je 0x44ae0f
mov ecx, dword [eax]
mov dword [ebx*4 + 0x588530], ecx
jmp 0x44931b
mov esi, 1
mov ecx, ebx
shl esi, cl
lea eax, [esi*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [esp], eax
mov ebx, dword [0x588550]
cmp ebx, 1
ja 0x44936a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449364
mov ecx, 0x588554
mov ebx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44936a
mov ebx, dword [0x588550]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp]
cmp dword [esp + 0x24], 0xa
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], 1
jl 0x4496cb
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], 9
mov dword [esp + 0x10], 1
lea esi, [eax + 9]
jmp 0x4493be
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], ebx
mov dword [esp], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], esi
movsx esi, byte [esi]
mov ebx, dword [esp]
xor ecx, ecx
add esi, 0xffffffd0
mov edi, esi
sar edi, 0x1f
nop word cs:[eax + eax]
nop dword [eax]
mov eax, 0xa
mul dword [ebx + ecx*4 + 0x14]
add eax, esi
mov esi, edx
adc esi, edi
mov dword [ebx + ecx*4 + 0x14], eax
inc ecx
mov edi, 0
cmp ecx, dword [esp + 0x10]
jl 0x4493e0
test esi, esi
je 0x449430
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp ecx, dword [eax + 8]
jge 0x449450
mov edi, eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x24]
jmp 0x4496ad
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
jmp 0x4496b7
mov edi, dword [eax + 4]
lea eax, [edi + 1]
mov dword [esp + 0x34], eax
mov ecx, dword [0x588550]
cmp ecx, 1
ja 0x4494a6
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x4494a0
mov ecx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
mov ecx, 0x588554
add esp, 0x10
jmp 0x4494a6
mov ecx, dword [0x588550]
call fcn.0043ae20
mov ecx, dword [esp + 0x34]
cmp ecx, 7
jg 0x4494d0
mov edx, edi
mov edi, dword [edi*4 + 0x588534]
test edi, edi
je 0x4495dd
mov eax, dword [edi]
mov dword [edx*4 + 0x588534], eax
jmp 0x4494fe
mov eax, 1
shl eax, cl
mov dword [esp + 0x54], eax
lea eax, [eax*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov eax, dword [0x588550]
cmp eax, 1
ja 0x449548
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449543
mov ecx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
mov eax, 0x588554
add esp, 0x10
jmp 0x449548
mov eax, dword [0x588550]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [edi + 0x10], 0
lea eax, [edi + 0xc]
mov dword [esp + 0x20], edi
mov dword [edi + 0xc], 0
mov edi, dword [esp]
mov edx, dword [edi + 0x10]
lea ecx, [edi + 0xc]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0050b3c0
add esp, 0xc
cmp dword [edi + 4], 8
jl 0x449593
push edi
call fcn.00431330
add esp, 4
jmp 0x44969d
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44962d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449627
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44962d
mov edx, dword [0x582e80]
mov eax, 1
mov edi, 0x588560
shl eax, cl
mov dword [esp + 0x54], eax
lea eax, [eax*4 + 0x1b]
mov ecx, eax
mov dword [esp + 0x20], edx
sub edx, edi
shr ecx, 3
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x4494e2
mov edi, dword [esp + 0x20]
lea eax, [edi + ecx*8]
mov dword [0x582e80], eax
jmp 0x4494f0
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449696
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449690
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449696
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov dword [edi + ecx*4 + 0x14], esi
inc ecx
mov dword [edi + 0x10], ecx
mov ecx, edi
mov esi, dword [esp + 0x28]
inc ebx
inc esi
cmp ebx, edx
jne 0x4493b0
add esi, dword [esp + 0x2c]
jmp 0x4496e0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
lea esi, [eax + edx + 9]
mov eax, dword [esp + 4]
mov edx, 9
sub eax, dword [esp + 8]
cmp edx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
jge 0x4499ed
nop word cs:[eax + eax]
nop dword [eax]
movsx edi, byte [esi]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
mov ebx, ecx
xor ecx, ecx
mov dword [esp + 0x24], edx
add edi, 0xffffffd0
mov dword [esp + 0x10], eax
mov esi, edi
sar esi, 0x1f
nop
mov eax, 0xa
mul dword [ebx + ecx*4 + 0x14]
add eax, edi
mov edi, edx
adc edi, esi
mov dword [ebx + ecx*4 + 0x14], eax
inc ecx
mov esi, 0
cmp ecx, dword [esp + 0x10]
jl 0x449720
test edi, edi
mov dword [esp], ebx
je 0x449760
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax + 8]
jge 0x449770
mov edx, dword [esp + 0x24]
mov ebx, eax
jmp 0x4499d3
mov ecx, dword [esp]
mov edx, dword [esp + 0x24]
jmp 0x4499dd
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
lea ebx, [eax + 1]
mov esi, dword [0x588550]
cmp esi, 1
ja 0x4497c6
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x4497c0
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x4497c6
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
cmp ebx, 7
jg 0x4497f2
mov ecx, dword [esp + 8]
mov esi, ebx
mov ebx, dword [ecx*4 + 0x588534]
test ebx, ebx
je 0x44990b
mov eax, dword [ebx]
mov dword [ecx*4 + 0x588534], eax
jmp 0x449820
mov eax, 1
mov ecx, ebx
mov esi, ebx
shl eax, cl
mov dword [esp + 8], eax
lea eax, [eax*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 8]
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44986c
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449866
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44986c
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [ebx + 0x10], 0
lea eax, [ebx + 0xc]
mov esi, ebx
mov dword [ebx + 0xc], 0
mov ebx, dword [esp]
mov edx, dword [ebx + 0x10]
lea ecx, [ebx + 0xc]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0050b3c0
add esp, 0xc
cmp dword [ebx + 4], 8
jl 0x4498bf
push ebx
call fcn.00431330
add esp, 4
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov ebx, esi
jmp 0x4499d3
mov ecx, dword [0x588550]
mov ebx, esi
cmp ecx, 1
ja 0x44995d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449957
mov ecx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
mov ecx, 0x588554
add esp, 0x10
jmp 0x44995d
mov edx, dword [0x582e80]
mov eax, 1
mov ecx, esi
mov ebx, 0x588560
shl eax, cl
mov dword [esp + 8], eax
lea eax, [eax*4 + 0x1b]
mov ecx, eax
mov dword [esp + 0x1c], edx
sub edx, ebx
shr ecx, 3
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x449808
mov ebx, dword [esp + 0x1c]
lea eax, [ebx + ecx*8]
mov dword [0x582e80], eax
jmp 0x449816
mov ecx, dword [0x588550]
call fcn.0043ae20
mov esi, dword [esp]
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [esi], ecx
mov dword [eax*4 + 0x588530], esi
mov esi, dword [0x588550]
cmp esi, 1
ja 0x4499c4
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x4499be
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x4499c4
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx*4 + 0x14], edi
inc ecx
mov dword [ebx + 0x10], ecx
mov ecx, ebx
mov esi, dword [esp + 0x28]
inc edx
inc esi
cmp edx, dword [esp + 0x38]
jne 0x449700
mov ebx, dword [esp + 0x44]
lea eax, [ecx + 0xc]
mov dword [esp], ecx
mov dword [esp + 0x84], eax
xor eax, eax
mov ecx, ebx
neg ecx
test ebx, ebx
cmovns ecx, eax
cmovs ebx, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], ebx
lea eax, [ebx + ecx]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x38]
or eax, ecx
mov eax, dword [esp]
sete cl
xor cl, 1
mov byte [esp + 0x5f], cl
jmp 0x449a50
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp]
jmp 0x449a50
mov edi, dword [0x588550]
jmp 0x449a3b
mov ebx, dword [eax + 4]
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449a9f
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449a99
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449a9f
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
cmp ebx, 7
jg 0x449ad0
mov esi, dword [ebx*4 + 0x588530]
test esi, esi
je 0x449c2d
mov eax, dword [esi]
mov dword [ebx*4 + 0x588530], eax
jmp 0x449af4
mov edi, 1
mov ecx, ebx
shl edi, cl
lea esi, [edi*4 + 0x1b]
and esi, 0xfffffff8
push esi
call fcn.004312f0
add esp, 4
mov esi, eax
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449b40
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449b3a
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449b40
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp]
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
mov ecx, dword [ecx + 0x10]
lea ecx, [ecx*4 + 8]
push ecx
push dword [esp + 0x88]
push eax
call fcn.0050b3c0
add esp, 0xc
lea eax, [esp + 0xf8]
lea ecx, [esp + 0xf0]
lea edx, [esp + 0xfc]
push eax
call fcn.0044d060
add esp, 4
mov dword [esp + 8], eax
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449be4
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449bde
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449be4
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov eax, dword [0x588534]
test eax, eax
je 0x449c04
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov dword [0x588534], eax
jmp 0x449c93
mov eax, dword [0x582e80]
mov edx, 0x588560
mov ecx, eax
sub ecx, edx
sar ecx, 3
add ecx, 4
cmp ecx, 0x120
ja 0x449c77
mov ecx, eax
add ecx, 0x20
mov dword [0x582e80], ecx
jmp 0x449c81
mov edi, 1
mov ecx, ebx
shl edi, cl
mov ecx, 0x588560
lea esi, [edi*4 + 0x1b]
mov eax, esi
shr eax, 3
mov dword [esp + 0x10], eax
mov eax, dword [0x582e80]
mov edx, eax
sub edx, ecx
mov ecx, dword [esp + 0x10]
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x449ae0
lea ecx, [eax + ecx*8]
mov dword [0x582e80], ecx
jmp 0x449aec
push 0x20
call fcn.004312f0
add esp, 4
mov dword [eax + 4], 1
mov dword [esp + 0x10], eax
mov dword [eax + 8], 2
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449cdf
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449cd9
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449cdf
mov edi, dword [0x588550]
mov dword [esp + 0x28], esi
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 0x10]
xor edx, edx
mov esi, 0
mov edi, 0x36
mov dword [esp + 0x2c], 1
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 1
mov dword [eax + 0x10], 1
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xf8]
mov ebx, eax
neg ebx
test eax, eax
cmovns ebx, edx
cmovns esi, eax
sub eax, dword [esp + 0x48]
sub edi, ecx
add esi, dword [esp + 0x54]
add eax, ecx
cmp eax, 0xfffffc02
jg 0x449d80
mov ecx, 0xfffffc03
sub ecx, eax
sub edi, ecx
cmp ecx, 0x1f
jg 0x449d5f
mov eax, 1
shl eax, cl
mov dword [esp + 0x2c], eax
jmp 0x449d80
mov edx, 0x7ff00000
cmp ecx, 0x33
jg 0x449d80
mov edx, 1
mov dword [esp + 0x2c], 1
shl edx, cl
nop dword [eax + eax]
add ebx, dword [esp + 0x80]
mov dword [esp + 0x50], edx
add ebx, edi
add edi, esi
cmp edi, ebx
mov eax, ebx
cmovle eax, edi
cmp eax, esi
cmovg eax, esi
test eax, eax
jle 0x449da5
sub edi, eax
sub ebx, eax
sub esi, eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x1c], esi
test edx, edx
jle 0x449deb
mov ecx, dword [esp + 0x10]
call fcn.0044d3f0
mov esi, dword [esp + 8]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, esi
call fcn.0044dd40
test esi, esi
je 0x449def
cmp dword [esi + 4], 8
mov dword [esp + 0x24], eax
jl 0x449eb5
push esi
call fcn.00431330
add esp, 4
jmp 0x44a514
mov eax, dword [esp + 8]
test edi, edi
jle 0x449dfc
mov ecx, eax
mov edx, edi
call fcn.0044de70
mov edx, dword [esp + 0x44]
mov dword [esp + 0x24], eax
test edx, edx
jle 0x449e15
mov ecx, dword [esp + 0x28]
call fcn.0044d3f0
mov dword [esp + 0x28], eax
test ebx, ebx
jle 0x449e28
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.0044de70
mov esi, eax
jmp 0x449e2c
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
test edx, edx
jle 0x449e41
mov ecx, dword [esp + 0x10]
call fcn.0044de70
mov ebx, eax
jmp 0x449e45
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, esi
mov dword [esp + 0x28], esi
call fcn.0044e010
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [eax + 0xc], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov esi, ebx
mov eax, dword [ebx + 0x10]
mov ebx, 0x7ff00000
mov edi, edx
mov dword [esp + 0x20], ecx
sub edi, eax
mov dword [esp + 8], eax
mov eax, edi
jne 0x449f1a
mov dword [esp + 0x6c], edi
mov edi, edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
lea eax, [ecx + 0x14]
lea ecx, [ecx + edx*4 + 0x14]
lea edx, [esi + edx*4 + 0x10]
mov esi, dword [edx]
cmp dword [ecx - 4], esi
jne 0x449f06
add ecx, 0xfffffffc
add edx, 0xfffffffc
cmp ecx, eax
ja 0x449ea0
xor eax, eax
jmp 0x449f10
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44a4a3
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a49d
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a4a3
setae al
movzx eax, al
lea eax, [eax + eax - 1]
mov edx, edi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x34], ecx
jle 0x449f40
test eax, eax
jg 0x449f40
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 4]
je 0x44a007
jmp 0x44afc5
mov ecx, dword [esp + 4]
test eax, eax
js 0x449ffc
je 0x44a21d
mov esi, dword [esp + 0x1c]
mov ebx, edi
xor eax, eax
mov dword [esp + 0x6c], ebx
mov edi, dword [esi + edx*4 + 0x10]
cmp edi, 0x10000
mov ecx, edi
mov dword [esp + 0x2c], edi
setb al
shl ecx, 0x10
cmp edi, 0xffff
cmova ecx, edi
mov edi, edx
shl eax, 4
mov edx, ecx
shl edx, 8
cmp ecx, 0xffffff
cmova edx, ecx
lea ecx, [eax + 8]
cmova ecx, eax
mov eax, edx
shl eax, 4
cmp edx, 0xfffffff
cmova eax, edx
lea edx, [ecx + 4]
cmova edx, ecx
lea ecx, [eax*4]
cmp eax, 0x3fffffff
cmova ecx, eax
lea eax, [edx + 2]
cmova eax, edx
lea edx, [esi + edi*4 + 0x14]
test ecx, ecx
mov dword [esp + 0x60], edx
lea edx, [esi + edi*4 + 0x10]
lea esi, [esi + 0x14]
mov dword [esp + 0x50], esi
js 0x44a2ab
test ecx, 0x40000000
jne 0x44a2aa
mov edi, dword [esp + 0x2c]
mov eax, 0x20
mov dword [esp + 0x78], 0
jmp 0x44a2fb
cmp dword [esp + 0x20], 0
jne 0x44b0b8
cmp dword [esp + 0xf0], 0
mov edi, dword [esp + 0x1c]
jne 0x44b3d3
mov eax, dword [esp + 0xf4]
xor ebx, ebx
test eax, 0xfffff
jne 0x44ae90
and eax, 0x7ff00000
cmp eax, 0x6b00001
jb 0x44ae90
cmp edx, 1
jg 0x44a04d
mov eax, dword [edi + 0x14]
test eax, eax
je 0x44b3d3
mov ebx, dword [edi + 4]
mov eax, dword [edi + 8]
cmp edx, eax
jl 0x44a067
nop word [eax + eax]
inc ebx
add eax, eax
cmp edx, eax
jge 0x44a060
mov dword [esp + 0x2c], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44a0b7
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a0b1
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a0b7
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
cmp ebx, 7
jg 0x44a0dd
mov edi, dword [ebx*4 + 0x588530]
test edi, edi
je 0x44a260
mov eax, dword [edi]
mov dword [ebx*4 + 0x588530], eax
jmp 0x44a101
mov esi, 1
mov ecx, ebx
shl esi, cl
lea eax, [esi*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov edi, eax
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
mov ebx, dword [0x588550]
cmp ebx, 1
ja 0x44a14d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a147
mov ecx, 0x588554
mov ebx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a14d
mov ebx, dword [0x588550]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ebx, dword [esp + 0x1c]
mov dword [edi + 0x10], 0
lea eax, [edi + 0x14]
mov dword [edi + 0xc], 0
xor edx, edx
mov ecx, 0x14
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x10]
lea eax, [ebx + eax*4 + 0x14]
nop dword [eax + eax]
mov esi, dword [ebx + ecx]
add esi, esi
or esi, edx
mov dword [edi + ecx], esi
lea esi, [ebx + ecx + 4]
mov edx, dword [ebx + ecx]
add ecx, 4
shr edx, 0x1f
cmp esi, eax
jb 0x44a180
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
cmp edx, 1
mov dword [edi + ecx], edx
sbb eax, 0
inc eax
test ebx, ebx
mov dword [edi + 0x10], eax
je 0x44a7fb
cmp dword [ebx + 4], 8
jl 0x44a1cc
push ebx
call fcn.00431330
add esp, 4
jmp 0x44a7fb
mov ebx, dword [0x588550]
cmp ebx, 1
ja 0x44a78a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a784
mov ecx, 0x588554
mov ebx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a78a
mov eax, dword [esp + 0xf4]
mov ecx, eax
and ecx, 0xfffff
cmp dword [esp + 0x20], 0
jne 0x44b0e0
or ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x50]
jne 0x44b13b
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x48], 0
jne 0x44a821
jmp 0x44a835
mov edi, dword [0x582e80]
mov eax, 1
mov ecx, ebx
mov esi, 0x588560
shl eax, cl
mov dword [esp + 8], eax
lea eax, [eax*4 + 0x1b]
mov ecx, eax
mov edx, edi
shr ecx, 3
sub edx, esi
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x44a494
mov esi, dword [esp + 8]
lea eax, [edi + ecx*8]
mov dword [0x582e80], eax
jmp 0x44a0fb
inc eax
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov ecx, 0x20
sub ecx, eax
cmp eax, 0xa
mov dword [esp + 0x78], ecx
jg 0x44a2f7
mov dword [esp + 0x4c], edx
mov edx, 0xb
xor ebx, ebx
sub edx, eax
mov ecx, edx
shr edi, cl
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x50]
jbe 0x44a2e5
mov ecx, dword [esp + 0x60]
mov ebx, dword [ecx - 8]
add al, 0x15
mov ecx, eax
mov eax, dword [esp + 0x2c]
shl eax, cl
mov ecx, edx
shr ebx, cl
or ebx, eax
jmp 0x44a34a
mov esi, dword [esp + 0x50]
xor ebx, ebx
cmp edx, esi
jbe 0x44a30b
mov edx, dword [esp + 0x60]
mov ebx, dword [edx - 8]
add edx, 0xfffffff8
mov dword [esp + 0x4c], edx
mov edx, eax
add edx, 0xfffffff5
je 0x44a346
mov ecx, edx
mov esi, ebx
shl edi, cl
mov ecx, 0x2b
sub ecx, eax
xor eax, eax
mov dword [esp + 0x2c], ecx
shr esi, cl
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x50]
jbe 0x44a338
mov eax, dword [ecx - 4]
mov ecx, edx
or edi, esi
shl ebx, cl
mov ecx, dword [esp + 0x2c]
shr eax, cl
or ebx, eax
mov esi, dword [esp + 0x10]
or edi, 0x3ff00000
xor eax, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 8]
mov edx, dword [esi + edi*4 + 0x10]
cmp edx, 0x10000
mov ecx, edx
mov dword [esp + 0x4c], edx
setb al
shl ecx, 0x10
cmp edx, 0xffff
cmova ecx, edx
shl eax, 4
mov edx, ecx
shl edx, 8
cmp ecx, 0xffffff
cmova edx, ecx
lea ecx, [eax + 8]
cmova ecx, eax
mov eax, edx
shl eax, 4
cmp edx, 0xfffffff
cmova eax, edx
lea edx, [ecx + 4]
cmova edx, ecx
lea ecx, [eax*4]
cmp eax, 0x3fffffff
cmova ecx, eax
lea eax, [edx + 2]
cmova eax, edx
lea edx, [esi + edi*4 + 0x14]
test ecx, ecx
mov dword [esp + 0x68], edx
lea edx, [esi + edi*4 + 0x10]
lea esi, [esi + 0x14]
mov dword [esp + 8], esi
js 0x44a3ea
test ecx, 0x40000000
jne 0x44a3e9
mov edi, dword [esp + 0x4c]
mov eax, 0x20
xor ecx, ecx
jmp 0x44a434
inc eax
mov edi, dword [esp + 0x4c]
mov ecx, 0x20
sub ecx, eax
cmp eax, 0xa
jg 0x44a434
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], ecx
mov ecx, 0xb
mov edx, edi
xor ebx, ebx
mov esi, dword [esp + 0x4c]
sub ecx, eax
mov dword [esp + 0x7c], ecx
shr edx, cl
cmp esi, dword [esp + 8]
jbe 0x44a424
mov ecx, dword [esp + 0x68]
mov ebx, dword [ecx - 8]
add al, 0x15
mov ecx, eax
shl edi, cl
mov ecx, dword [esp + 0x7c]
shr ebx, cl
or ebx, edi
jmp 0x44a48b
xor ebx, ebx
cmp edx, dword [esp + 8]
jbe 0x44a446
mov edx, dword [esp + 0x68]
mov ebx, dword [edx - 8]
add edx, 0xfffffff8
mov dword [esp + 0x4c], edx
mov edx, eax
add edx, 0xfffffff5
je 0x44a525
mov dword [esp + 0x60], ecx
mov ecx, edx
mov esi, ebx
shl edi, cl
mov ecx, 0x2b
sub ecx, eax
xor eax, eax
mov dword [esp + 0x68], ecx
shr esi, cl
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 8]
jbe 0x44a47b
mov eax, dword [ecx - 4]
mov ecx, edx
or edi, esi
shl ebx, cl
mov ecx, dword [esp + 0x68]
shr eax, cl
mov edx, edi
or ebx, eax
mov ecx, dword [esp + 0x60]
jmp 0x44a527
mov esi, dword [esp + 8]
jmp 0x44a0ed
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44a50d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a507
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a50d
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 0x24]
test edi, edi
jg 0x449df3
jmp 0x449dfc
mov edx, edi
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x50]
or edx, 0x3ff00000
movd xmm2, dword [esp + 0x2c]
movd xmm1, ebx
sub eax, ecx
shl edi, 5
mov ecx, edx
add edi, eax
mov eax, edi
shl eax, 0x14
sub ecx, eax
add eax, esi
test edi, edi
cmovle eax, esi
cmovg ecx, edx
movd xmm0, ecx
movd xmm3, eax
punpckldq xmm1, xmm0
punpckldq xmm2, xmm3
movsd xmm0, qword [0x5301a0]
divsd xmm2, xmm1
ucomisd xmm0, xmm2
jae 0x44a5d6
movsd xmm0, qword [0x530158]
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x1c]
mulsd xmm2, xmm0
movapd xmm1, xmm2
jne 0x44a5a2
xorpd xmm1, xmmword [0x530180]
mov esi, dword [esp + 0x10]
fnstcw word [esp + 0x70]
mov eax, dword [esp + 0x70]
mov ecx, eax
shr eax, 0xb
shr ecx, 9
and eax, 1
and ecx, 2
lea eax, [eax + ecx + 1]
test al, 3
jne 0x44a5d0
movsd xmm0, qword [0x530158]
addsd xmm1, xmm0
movapd xmm0, xmm2
jmp 0x44a5f5
movsd xmm1, qword [0x530150]
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
movapd xmm0, xmm1
je 0x44ac59
mov ecx, dword [esp + 0xf4]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7fe00000
jne 0x44a6a7
add ecx, 0xfcb00000
mov edx, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0xf4], ecx
and ecx, 0x7ff00000
add ecx, 0xfcc00000
movd xmm2, ecx
pshufd xmm2, xmm2, 0x51
mulsd xmm1, xmm2
addsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0x90], xmm1
mov ecx, dword [esp + 0x94]
mov esi, ecx
and esi, 0x7fe00000
cmp esi, 0x7ca00000
jb 0x44a726
not edx
xor edi, 0x7fefffff
or edi, edx
je 0x44b22f
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xf4], 0x7fefffff
mov dword [esp + 0xf0], 0xffffffff
jmp 0x44a868
cmp dword [esp + 0x48], 0
je 0x44a743
cmp eax, 0x6a00000
ja 0x44a743
movsd xmm2, qword [0x530230]
ucomisd xmm2, xmm0
movq xmm2, qword [0x530120]
jb 0x44ad0b
movsd xmm3, qword [0x530278]
movapd xmm1, xmm0
cvttsd2si edx, xmm0
subsd xmm1, xmm3
cvttsd2si ecx, xmm1
xor ecx, 0x80000000
ucomisd xmm0, xmm3
cmovae edx, ecx
mov ecx, 1
test edx, edx
cmove edx, ecx
cmp dword [esp + 0x20], 0
movd xmm0, edx
por xmm0, xmm2
subsd xmm0, xmm2
je 0x44acff
movapd xmm1, xmm0
jmp 0x44ad0b
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x1c]
add ecx, 0x3500000
mov dword [esp + 0xf4], ecx
jmp 0x44ad7f
lea ecx, [eax - 0x3400000]
movd xmm2, ecx
pshufd xmm2, xmm2, 0x51
mulsd xmm1, xmm2
addsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0xa8], xmm1
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
jmp 0x44ad7f
mov ebx, dword [0x588550]
mov ecx, ebx
call fcn.0043ae20
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov ebx, dword [0x588550]
cmp ebx, 1
ja 0x44a7f4
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a7ee
mov ecx, 0x588554
mov ebx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a7f4
mov ebx, dword [0x588550]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
sub eax, ecx
je 0x44a945
mov ecx, dword [esp + 4]
test eax, eax
mov ebx, 0x7ff00000
jle 0x44b3db
cmp dword [esp + 0x48], 0
je 0x44a835
mov eax, dword [esp + 0xf4]
and eax, ebx
cmp eax, 0x6b00000
jbe 0x44aff9
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x38]
and eax, ebx
add eax, 0xfff00000
or eax, 0xfffff
cmp dword [esp + 0x34], edx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], 0xffffffff
jle 0x44b3db
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x44a883
cmp dword [eax + 4], 8
jl 0x44a89f
push eax
call fcn.00431330
add esp, 4
test esi, esi
je 0x44aa9a
cmp dword [esi + 4], 8
jl 0x44a8f2
push esi
call fcn.00431330
add esp, 4
jmp 0x44aa9a
mov ebx, edi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44a9a0
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44a99a
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44a9a0
mov ebx, edi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44aa12
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44aa0c
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44aa12
lea eax, [edi + ecx*4 + 0x14]
lea ecx, [esi + ecx*4 + 0x10]
mov ebx, 0x7ff00000
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [eax - 4]
mov esi, dword [ecx]
cmp edx, esi
jne 0x44a97a
add eax, 0xfffffffc
add ecx, 0xfffffffc
cmp eax, dword [esp + 8]
ja 0x44a960
jmp 0x44ae00
mov ecx, dword [esp + 4]
cmp edx, esi
jb 0x44ae04
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x44a821
jmp 0x44a835
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44aa78
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44aa72
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44aa78
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [esi], ecx
mov dword [eax*4 + 0x588530], esi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44aa91
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44aa8b
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44aa91
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, ebx
test esi, esi
jne 0x44a88b
jmp 0x44aa9a
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
test ecx, ecx
je 0x44ab81
cmp dword [ecx + 4], 8
jl 0x44aabd
push ecx
call fcn.00431330
add esp, 4
jmp 0x44ab7e
mov esi, edi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44ab0b
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ab05
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44ab0b
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44ab75
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ab6f
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44ab75
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, esi
mov eax, dword [esp]
test edi, edi
je 0x449a50
cmp dword [edi + 4], 8
jl 0x44aba0
push edi
call fcn.00431330
add esp, 4
mov eax, dword [esp]
jmp 0x449a50
mov esi, edi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44abee
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44abe8
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44abee
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [esi], ecx
mov dword [eax*4 + 0x588530], esi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x449a3b
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x449a47
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x449a3b
mov eax, dword [esp + 0xf0]
cmp eax, 1
je 0x44acdc
movsd xmm0, qword [0x530150]
movsd xmm1, qword [0x530240]
test eax, eax
jne 0x44a5f5
test dword [esp + 0xf4], 0xfffff
movsd xmm0, qword [0x530150]
movsd xmm1, qword [0x530240]
jne 0x44a5f5
movapd xmm0, xmm2
movsd xmm1, qword [0x530158]
cmpltsd xmm2, qword [0x530150]
movapd xmm3, xmm1
mulsd xmm0, xmm1
movapd xmm1, xmm2
andpd xmm1, xmm3
andnpd xmm2, xmm0
orpd xmm2, xmm1
movapd xmm1, xmm2
xorpd xmm1, xmmword [0x530180]
jmp 0x44a5d0
cmp dword [esp + 0xf4], 0
movsd xmm0, qword [0x530150]
movsd xmm1, qword [0x530240]
jne 0x44a5f5
jmp 0x44cf40
movapd xmm1, xmm0
xorpd xmm1, xmmword [0x530180]
mov ecx, 0x6b00000
movsd qword [esp + 0xa0], xmm1
sub ecx, eax
movd xmm2, dword [esp + 0xa0]
add ecx, dword [esp + 0xa4]
movd xmm1, ecx
lea ecx, [eax - 0x3400000]
punpckldq xmm2, xmm1
movd xmm1, ecx
pshufd xmm1, xmm1, 0x51
mulsd xmm1, xmm2
addsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0x98], xmm1
ucomisd xmm1, qword [0x530148]
jne 0x44ad71
jnp 0x44b243
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov esi, ecx
and esi, 0x7ff00000
cmp eax, esi
setne al
or al, byte [esp + 0x5f]
jne 0x44a868
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x10]
cvttsd2si eax, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
subsd xmm0, xmm1
jne 0x44adba
and ecx, 0xfffff
or edx, ecx
je 0x44ade5
movsd xmm1, qword [0x537340]
mov ecx, dword [esp + 4]
xor ebx, ebx
ucomisd xmm1, xmm0
ja 0x44b3dd
ucomisd xmm0, qword [0x537348]
jbe 0x44a868
jmp 0x44b3dd
movsd xmm1, qword [0x537350]
mov ecx, dword [esp + 4]
ucomisd xmm1, xmm0
jbe 0x44a868
jmp 0x44b3d3
mov ecx, dword [esp + 4]
xor ebx, ebx
mov esi, dword [esp + 0x10]
jmp 0x44b3dd
mov esi, dword [0x582e80]
mov eax, 1
mov ecx, ebx
shl eax, cl
mov ecx, 0x588560
mov dword [esp + 0x10], eax
lea eax, [eax*4 + 0x1b]
mov edx, esi
sub edx, ecx
mov ecx, eax
shr ecx, 3
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x44ae87
lea eax, [esi + ecx*8]
mov dword [0x582e80], eax
mov eax, esi
mov esi, dword [esp + 0x10]
jmp 0x449315
xor edx, edx
xor edi, edi
mov esi, dword [esp + 0x3c]
cmp edx, ecx
jge 0x44924f
mov eax, dword [esp + 0x58]
sub ecx, edx
lea eax, [esi + eax]
movsx esi, byte [eax]
lea edx, [edi + edi*4]
inc eax
dec ecx
lea edi, [esi + edx*2 - 0x30]
jne 0x44ae70
mov ecx, dword [esp + 0x38]
jmp 0x44924f
mov esi, dword [esp + 0x10]
jmp 0x449309
mov dword [esp + 0x20], 0
jmp 0x44b3dd
cmp ecx, 0xfffffff0
jg 0x44aee0
mov ecx, 0x537490
test bl, 1
je 0x44aed7
mulsd xmm0, qword [ecx]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xb0], xmm0
mov esi, dword [esp + 0xb0]
mov dword [esp], esi
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
shr ebx, 1
add ecx, 8
test ebx, ebx
jne 0x44aea7
test eax, 0x100
je 0x44b342
mov ebx, dword [esp + 0x10]
mov ecx, 0x6b
shr ebx, 0x14
and ebx, 0x7ff
sub ecx, ebx
jle 0x44b342
cmp ecx, 0x20
jl 0x44b14e
cmp ecx, 0x36
jg 0x44906c
cmp ecx, 0x35
mov dword [esp + 0xf0], 0
jl 0x44b333
mov dword [esp + 0xf4], 0x3700000
jmp 0x44b342
mov edi, dword [esp + 0x30]
inc dword [esp + 0xc]
mov eax, 0x5373a9
movsx ecx, byte [eax]
test ecx, ecx
je 0x44b053
mov esi, dword [esp + 0xc]
inc eax
movsx edx, byte [esi]
mov ebx, edx
add bl, 0xbf
cmp bl, 0x1a
mov ebx, esi
lea esi, [edx + 0x20]
cmovae esi, edx
inc ebx
cmp esi, ecx
mov dword [esp + 0xc], ebx
je 0x44af48
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x28]
xor edi, edi
test eax, eax
je 0x44af83
mov dword [eax], ebx
movsd xmm0, qword [esp + 0xf0]
test edi, edi
je 0x44af97
xorps xmm0, xmmword [0x530180]
movsd qword [esp + 0xd0], xmm0
fld qword [esp + 0xd0]
fstp xword [esp + 0x10]
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.004ed5a1
fld xword [esp + 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x1c]
mov bl, 1
jmp 0x44b3dd
mov eax, 0xf
sub eax, ecx
mulsd xmm0, qword [eax*8 + 0x5373b0]
sub esi, eax
mulsd xmm0, qword [esi*8 + 0x5373b0]
movsd qword [esp + 0xf0], xmm0
jmp 0x44ca72
mov edx, dword [esp + 0x38]
xor ebx, ebx
cmp dword [esp + 0x34], edx
jg 0x44b3dd
cmp eax, 0x3700000
ja 0x44b3dd
mov ecx, dword [esp]
mov dword [esp + 0x1c], edi
jmp 0x44ca08
mov ecx, 1
movsx edx, byte [ecx + 0x5373a2]
test edx, edx
je 0x44b0c1
movsx esi, byte [eax + ecx]
mov ebx, esi
add bl, 0xbf
cmp bl, 0x1a
mov ebx, esi
lea esi, [esi + 0x20]
cmovae esi, ebx
inc ecx
cmp esi, edx
je 0x44b025
mov ebx, dword [esp + 0xc]
jmp 0x44b0c5
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xf4], 0x7ff80000
mov dword [esp + 0xf0], 0
cmp byte [ebx], 0x28
jne 0x4489fd
lea eax, [ebx - 1]
movzx ecx, byte [eax + 2]
inc eax
dec cl
cmp cl, 0x20
jb 0x44b079
mov dl, byte [eax + 1]
cmp dl, 0x30
jne 0x44b0a3
lea ecx, [eax + 2]
mov dl, byte [ecx]
or dl, 0x20
cmp dl, 0x78
jne 0x44b24e
mov dl, byte [eax + 3]
mov eax, ecx
mov ebx, dword [esp + 0xc]
test dl, dl
jne 0x44b254
xor edx, edx
xor edi, edi
jmp 0x44b2e4
mov edi, dword [esp + 0x1c]
jmp 0x44b3db
add eax, ecx
mov ebx, eax
mov dword [esp + 0xf4], 0x7ff00000
mov dword [esp + 0xf0], 0
jmp 0x4489fd
cmp ecx, 0xfffff
jne 0x44b161
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0xf0]
mov esi, 0xffffffff
je 0x44b387
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
mov ebx, eax
and ebx, 0x7ff00000
cmp ebx, 0x6a00000
ja 0x44b38f
shr ebx, 0x14
mov cl, 0x6b
mov esi, 0xffffffff
sub cl, bl
shl esi, cl
mov ecx, dword [esp + 4]
cmp edx, esi
je 0x44b397
mov esi, dword [esp + 0x10]
jmp 0x44b165
mov edi, dword [esp + 0x1c]
mov cl, 1
test edx, edx
je 0x44b16f
test eax, edx
jne 0x44b180
jmp 0x44cf52
mov esi, dword [esp]
shr esi, cl
shl esi, cl
mov dword [esp + 0xf0], esi
jmp 0x44b342
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
xor ecx, ecx
test edx, edx
jne 0x44b145
mov edx, dword [esp + 0x2c]
test dword [esp + 0xf0], edx
je 0x44cf52
mov edx, eax
and edx, 0x7ff00000
add edx, 0xfcc00000
cmp dword [esp + 0x48], 0
movd xmm0, edx
pshufd xmm0, xmm0, 0x51
je 0x44b1c5
shr eax, 0x14
mov edx, 0x6b
and eax, 0x7ff
sub edx, eax
jle 0x44b1c5
shl edx, 0x14
add edx, 0x3ff00000
movd xmm1, edx
pshufd xmm1, xmm1, 0x51
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0xf0]
test cl, cl
je 0x44b20a
mov ecx, dword [esp + 4]
subsd xmm1, xmm0
xorpd xmm0, xmm0
ucomisd xmm1, xmm0
movsd qword [esp + 0xf0], xmm1
jne 0x44b21b
jp 0x44b21b
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], 0
cmp dword [esp + 0x34], eax
jg 0x44b3db
jmp 0x44cf5b
mov ecx, dword [esp + 4]
addsd xmm0, xmm1
movsd qword [esp + 0xf0], xmm0
mov eax, 1
xor ebx, ebx
sub eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp 0x44b3dd
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xf0]
jmp 0x44ca89
mov ecx, dword [esp + 4]
mov bl, 1
jmp 0x44b3dd
mov ebx, dword [esp + 0xc]
mov dl, 0x30
mov dword [esp + 0xc], ebx
add eax, 2
xor esi, esi
mov ebx, 1
xor edi, edi
mov dword [esp], 0
mov dword [esp + 0x10], 0
movzx ecx, dl
movzx edx, byte [ecx + 0x5374b8]
test edx, edx
je 0x44b2b1
and edx, 0xf
test esi, esi
mov esi, dword [esp + 0x10]
mov ecx, 0
cmove ecx, esi
cmovne edi, esi
test ebx, ebx
je 0x44b29d
shld edi, ecx, 4
shl ecx, 4
xor esi, esi
mov dword [esp], 1
or ecx, edx
mov dword [esp + 0x10], ecx
jmp 0x44b2d4
cmp cl, 0x21
jae 0x44b318
test ebx, ebx
setne cl
cmp dword [esp], 0
setne dl
test cl, dl
mov ecx, 0
mov edx, 1
cmovne ebx, ecx
cmovne esi, edx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x44b273
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
and edi, 0xfffff
mov eax, edi
or eax, edx
je 0x44b304
or edi, 0x7ff00000
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], edx
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x30]
test eax, eax
jne 0x44af81
jmp 0x44af83
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp ecx, 0x29
je 0x44cf39
movsx ecx, byte [eax]
inc eax
test ecx, ecx
jne 0x44b320
jmp 0x44b2e4
mov esi, dword [esp + 0x10]
shr esi, cl
shl esi, cl
mov dword [esp + 0xf4], esi
movsd xmm0, qword [esp + 0xf0]
xorpd xmm1, xmm1
mov ecx, 0
mov esi, 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
ucomisd xmm0, xmm1
jne 0x44b375
jnp 0x44ca08
shl eax, 0x17
sar eax, 0x1f
and eax, 0x6a
mov dword [esp + 0x48], eax
jmp 0x44918c
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
cmp edx, esi
jne 0x44b135
mov esi, dword [esp + 0x10]
cmp eax, 0x7fefffff
jne 0x44b3b7
cmp edx, 0xffffffff
jne 0x44b3b7
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0xf0]
jmp 0x44ca89
and eax, 0x7ff00000
add eax, 0x100000
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], 0
mov dword [esp + 0x20], 0
xor ebx, ebx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x1c], edi
je 0x44b4d8
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 8
jl 0x44b413
push eax
call fcn.00431330
add esp, 4
mov ecx, dword [esp + 4]
cmp dword [esp + 0x28], 0
jne 0x44b4e3
jmp 0x44b69f
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b45f
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b459
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b45f
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b4c9
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b4c3
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b4c9
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x28], 0
je 0x44b69f
mov eax, dword [esp + 0x28]
cmp dword [eax + 4], 8
jl 0x44b51a
push eax
call fcn.00431330
add esp, 4
mov ecx, dword [esp + 4]
test esi, esi
je 0x44b6be
cmp dword [esi + 4], 8
jl 0x44b564
push esi
call fcn.00431330
add esp, 4
mov ecx, dword [esp + 4]
jmp 0x44b6be
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b5b8
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b5b2
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b5b8
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b62a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b624
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b62a
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b690
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b68a
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b690
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [esi], ecx
mov dword [eax*4 + 0x588530], esi
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b6af
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b6a9
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b6af
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
test esi, esi
jne 0x44b502
jmp 0x44b6be
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp]
test eax, eax
je 0x44b7a1
cmp dword [eax + 4], 8
jl 0x44b6dd
push eax
call fcn.00431330
add esp, 4
jmp 0x44b79d
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44b729
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b723
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b729
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
mov edi, dword [esp + 0x1c]
cmp esi, 1
ja 0x44b796
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b790
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b796
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
test edi, edi
je 0x44b87a
cmp dword [edi + 4], 8
jl 0x44b7bd
push edi
call fcn.00431330
add esp, 4
jmp 0x44b876
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44b809
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b803
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b809
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov eax, dword [edi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edi], ecx
mov dword [eax*4 + 0x588530], edi
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44b86f
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b869
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b86f
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
test bl, bl
je 0x44ca19
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0xf0]
xorpd xmm1, xmm1
lea edi, [eax + ecx]
ucomisd xmm0, xmm1
jne 0x44b8ec
jp 0x44b8ec
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44b95e
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44b958
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44b95e
lea eax, [esp + 0x104]
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x100]
push eax
call fcn.0044d060
add esp, 4
mov edx, dword [esp + 0x48]
mov esi, 0x35
mov ebx, dword [esp + 0x100]
sub esi, dword [esp + 0x104]
mov ecx, edx
neg ecx
lea ecx, [ebx + ecx + 0x432]
sub ebx, edx
cmp esi, ecx
mov dword [esp + 0x100], ebx
cmovg esi, ecx
mov ecx, eax
inc esi
mov edx, esi
call fcn.0044de70
mov dword [esp], eax
or byte [eax + 0x14], 1
mov dword [esp + 0x2c], 0
jmp 0x44ba61
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov eax, dword [0x588534]
test eax, eax
je 0x44b978
mov ecx, dword [eax]
mov dword [0x588534], ecx
jmp 0x44b9bb
mov edx, dword [0x582e80]
mov eax, 0x588560
mov ecx, edx
sub ecx, eax
sar ecx, 3
add ecx, 4
cmp ecx, 0x120
ja 0x44b9a3
mov eax, edx
add eax, 0x20
mov dword [0x582e80], eax
mov eax, edx
jmp 0x44b9ad
push 0x20
call fcn.004312f0
add esp, 4
mov dword [eax + 4], 1
mov dword [eax + 8], 2
mov dword [esp], eax
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44ba0a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ba04
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44ba0a
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x20], 0
mov ebx, 0xfffffbcd
xor esi, esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 1
mov dword [eax + 0x10], 1
mov dword [esp + 0x104], 1
mov dword [esp + 0xf4], 0x3700000
mov dword [esp + 0x100], 0xfffffbcd
mov eax, 1
sub eax, edi
add ebx, eax
mov dword [esp + 0x38], eax
sub ebx, esi
mov dword [esp + 0x100], ebx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44bac3
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44babd
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44bac3
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov eax, dword [0x588534]
mov dword [esp + 8], edi
test eax, eax
je 0x44baea
mov edi, eax
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [0x588534], eax
jmp 0x44bb35
mov eax, dword [0x582e80]
mov edx, 0x588560
mov ecx, eax
sub ecx, edx
sar ecx, 3
add ecx, 4
cmp ecx, 0x120
ja 0x44bb13
mov ecx, eax
add ecx, 0x20
mov dword [0x582e80], ecx
jmp 0x44bb1d
push 0x20
call fcn.004312f0
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov edi, eax
mov dword [eax + 4], 1
mov dword [eax + 8], 2
mov ebx, dword [0x588550]
lea esi, [ecx + edx - 1]
cmp ebx, 1
ja 0x44bb85
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44bb7f
mov ecx, 0x588554
mov ebx, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44bb85
mov ebx, dword [0x588550]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test esi, esi
mov dword [edi + 0xc], 0
mov dword [edi + 0x14], 1
mov dword [edi + 0x10], 1
jle 0x44bbb4
mov ecx, edi
mov edx, esi
call fcn.0044d3f0
mov ebx, dword [esp + 0x3c]
jmp 0x44bbd0
cmp dword [esp + 8], 0
mov ebx, dword [esp + 0x3c]
jg 0x44bbce
mov ecx, dword [esp]
mov edx, dword [esp + 0x38]
call fcn.0044d3f0
mov dword [esp], eax
mov eax, edi
mov ecx, dword [esp + 0x100]
xor edx, edx
mov dword [esp + 0x38], eax
mov edi, ecx
neg edi
test ecx, ecx
cmovg edi, edx
cmovns edx, ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [eax + ecx*4 + 0x10]
xor eax, eax
cmp ecx, 0x10000
mov esi, ecx
setb al
shl esi, 0x10
cmp ecx, 0xffff
cmova esi, ecx
shl eax, 4
mov ecx, esi
shl ecx, 8
cmp esi, 0xffffff
cmova ecx, esi
lea esi, [eax + 8]
cmova esi, eax
mov eax, ecx
shl eax, 4
cmp ecx, 0xfffffff
cmova eax, ecx
lea ecx, [esi + 4]
cmova ecx, esi
lea esi, [eax*4]
cmp eax, 0x3fffffff
cmova esi, eax
lea eax, [ecx + 2]
cmova eax, ecx
test esi, esi
js 0x44bc5b
mov ecx, 0x20
test esi, 0x40000000
je 0x44bc5d
inc eax
mov ecx, eax
xor eax, eax
test edi, edi
mov esi, 0x1c
mov dword [esp + 0x3c], ebx
cmovns eax, edi
sub esi, eax
add esi, ecx
and esi, 0x1f
add edx, esi
jle 0x44bc84
mov ecx, dword [esp]
call fcn.0044de70
mov ebx, eax
jmp 0x44bc87
mov ebx, dword [esp]
add esi, edi
mov dword [esp], ebx
jle 0x44bca4
mov ecx, dword [esp + 0x38]
mov edx, esi
call fcn.0044de70
mov ebx, dword [esp]
mov esi, dword [esp + 0x10]
mov edi, eax
jmp 0x44bcac
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov ecx, ebx
mov edx, edi
call fcn.00452120
test eax, eax
mov dword [esp + 0x38], edi
je 0x44bcca
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
jmp 0x44bf94
mov ecx, dword [ebx + 0x10]
xor edi, edi
xor esi, esi
mov dword [esp + 4], 0
nop dword [eax]
mov eax, 0xa
mul dword [ebx + esi*4 + 0x14]
add eax, edi
mov edi, edx
adc edi, dword [esp + 4]
mov dword [ebx + esi*4 + 0x14], eax
inc esi
cmp esi, ecx
jl 0x44bce0
test edi, edi
je 0x44bd13
mov eax, dword [esp]
mov ebx, ecx
cmp ecx, dword [eax + 8]
jge 0x44bd1f
mov esi, dword [esp + 0x10]
mov ecx, eax
jmp 0x44bf76
mov esi, dword [esp + 0x10]
mov ecx, dword [esp]
jmp 0x44bf7e
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
inc eax
mov dword [esp + 4], eax
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44bd77
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44bd71
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44bd77
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov ecx, dword [esp + 4]
cmp ecx, 7
jg 0x44bda5
mov edx, dword [esp + 8]
mov eax, dword [edx*4 + 0x588534]
test eax, eax
je 0x44beae
mov ecx, dword [eax]
mov dword [edx*4 + 0x588534], ecx
jmp 0x44bdc9
mov esi, 1
shl esi, cl
lea eax, [esi*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [esp + 4], eax
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44be19
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44be13
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44be19
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
mov esi, dword [esp]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
lea ecx, [esi + 0xc]
mov edx, dword [esi + 0x10]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0050b3c0
add esp, 0xc
cmp dword [esi + 4], 8
jl 0x44be64
push esi
call fcn.00431330
add esp, 4
jmp 0x44bf6e
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44befe
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44bef8
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44befe
mov esi, dword [0x582e80]
mov eax, 1
shl eax, cl
mov ecx, 0x588560
mov dword [esp + 8], eax
lea eax, [eax*4 + 0x1b]
mov edx, esi
sub edx, ecx
mov ecx, eax
shr ecx, 3
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x44cf30
lea eax, [esi + ecx*8]
mov dword [0x582e80], eax
mov eax, esi
mov esi, dword [esp + 8]
jmp 0x44bdbf
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44bf67
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44bf61
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44bf67
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov dword [ecx + ebx*4 + 0x14], edi
inc ebx
mov dword [ecx + 0x10], ebx
mov edi, dword [esp + 0x38]
mov dword [esp], ecx
mov edx, edi
call fcn.00452120
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
xor edx, edx
test ecx, ecx
jle 0x44c2b2
nop
movsx ebx, byte [ebx + edx]
mov ecx, 0xffffffd0
sub ecx, eax
add ebx, ecx
jne 0x44c5f0
mov ecx, dword [esp]
inc edx
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
test eax, eax
jne 0x44bfca
cmp ebx, 1
je 0x44c607
mov dword [esp + 4], edx
mov edx, 0xa
mov dword [esp + 8], ebx
mul edx
mov dword [ecx + 0x14], eax
mov eax, ecx
xor ecx, ecx
mov edi, edx
cmp ebx, 2
jl 0x44c073
lea esi, [eax + 0x18]
dec ebx
nop
mov eax, 0xa
mul dword [esi]
add eax, edi
mov edi, edx
mov dword [esi], eax
adc edi, ecx
add esi, 4
dec ebx
jne 0x44bff0
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
or ecx, edi
je 0x44c07b
mov eax, ebx
mov ebx, dword [esp]
cmp eax, dword [ebx + 8]
jl 0x44c284
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], eax
lea ebx, [eax + 1]
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c08b
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c085
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c08b
mov eax, dword [esp + 0x3c]
or ecx, edi
jne 0x44c015
mov ecx, dword [esp]
mov ebx, eax
jmp 0x44c296
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
cmp ebx, 7
mov dword [esp + 0x44], ebx
jg 0x44c0b9
mov ecx, dword [esp + 0x54]
mov ebx, dword [ecx*4 + 0x588534]
test ebx, ebx
je 0x44c1be
mov eax, dword [ebx]
mov dword [ecx*4 + 0x588534], eax
jmp 0x44c0e1
mov esi, 1
mov ecx, ebx
shl esi, cl
lea eax, [esi*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c12d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c127
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c12d
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
lea eax, [ebx + 0xc]
mov edx, dword [esi + 0x10]
lea ecx, [esi + 0xc]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0050b3c0
add esp, 0xc
cmp dword [esi + 4], 8
jl 0x44c174
push esi
call fcn.00431330
add esp, 4
jmp 0x44c280
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c210
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c20a
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c210
mov esi, 1
mov ecx, dword [esp + 0x44]
mov ebx, dword [0x582e80]
shl esi, cl
lea eax, [esi*4 + 0x1b]
mov ecx, eax
shr ecx, 3
mov edx, ebx
mov dword [esp + 0x54], ecx
mov ecx, 0x588560
sub edx, ecx
mov ecx, dword [esp + 0x54]
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x44c0c9
lea eax, [ebx + ecx*8]
mov dword [0x582e80], eax
jmp 0x44c0d7
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c279
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c273
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c279
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov ecx, ebx
mov dword [ebx + eax*4 + 0x14], edi
inc eax
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov dword [esp], ecx
mov edx, edi
call fcn.00452120
mov edx, dword [esp + 4]
cmp edx, dword [esp + 0x40]
jl 0x44bfa0
cmp edx, dword [esp + 0x34]
jge 0x44c5e3
mov esi, dword [esp + 0x58]
movsx ebx, byte [ebx + esi]
mov ecx, 0xffffffd0
sub ecx, eax
add ebx, ecx
jne 0x44c5ec
mov ecx, dword [esp]
mov dword [esp + 0x58], esi
inc edx
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
test eax, eax
jne 0x44c2ee
cmp esi, 1
je 0x44c7c2
mov dword [esp + 4], edx
mov edx, 0xa
mul edx
mov dword [ecx + 0x14], eax
mov eax, ecx
xor ecx, ecx
mov edi, edx
cmp esi, 2
jl 0x44c33f
mov edx, esi
lea esi, [eax + 0x18]
lea ebx, [edx - 1]
mov dword [esp + 8], edx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, 0xa
mul dword [esi]
add eax, edi
mov edi, edx
mov dword [esi], eax
adc edi, ecx
add esi, 4
dec ebx
jne 0x44c320
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 8]
jmp 0x44c343
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
or ecx, edi
je 0x44c3ab
mov ebx, dword [esp]
cmp esi, dword [ebx + 8]
jl 0x44c5b6
mov eax, dword [ebx + 4]
mov dword [esp + 8], esi
mov dword [esp + 0x44], eax
lea ebx, [eax + 1]
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c3b9
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c3b3
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c3b9
mov ecx, dword [esp]
jmp 0x44c5c4
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
cmp ebx, 7
mov dword [esp + 0x40], ebx
jg 0x44c3e7
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx*4 + 0x588534]
test ebx, ebx
je 0x44c4ec
mov eax, dword [ebx]
mov dword [ecx*4 + 0x588534], eax
jmp 0x44c40f
mov esi, 1
mov ecx, ebx
shl esi, cl
lea eax, [esi*4 + 0x1b]
and eax, 0xfffffff8
push eax
call fcn.004312f0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c45b
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c455
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c45b
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
lea eax, [ebx + 0xc]
mov edx, dword [esi + 0x10]
lea ecx, [esi + 0xc]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0050b3c0
add esp, 0xc
cmp dword [esi + 4], 8
jl 0x44c4a2
push esi
call fcn.00431330
add esp, 4
jmp 0x44c5ae
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c53e
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c538
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c53e
mov esi, 1
mov ecx, dword [esp + 0x40]
mov ebx, dword [0x582e80]
shl esi, cl
lea eax, [esi*4 + 0x1b]
mov ecx, eax
shr ecx, 3
mov edx, ebx
mov dword [esp + 0x44], ecx
mov ecx, 0x588560
sub edx, ecx
mov ecx, dword [esp + 0x44]
sar edx, 3
add edx, ecx
cmp edx, 0x120
ja 0x44c3f7
lea eax, [ebx + ecx*8]
mov dword [0x582e80], eax
jmp 0x44c405
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c5a7
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c5a1
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c5a7
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 8]
mov dword [ebx + esi*4 + 0x14], edi
inc esi
mov ecx, ebx
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
inc eax
mov dword [esp], ecx
mov esi, eax
mov edx, edi
call fcn.00452120
mov edx, dword [esp + 4]
cmp edx, dword [esp + 0x34]
jl 0x44c2c0
mov ebx, 0xffffffff
test eax, eax
jle 0x44c665
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xf0]
mov eax, dword [esp]
test eax, eax
jne 0x44c7d1
jmp 0x44c710
xor ebx, ebx
cmp edx, dword [esp + 0x34]
mov eax, ecx
setl bl
cmp dword [eax + 4], 8
jge 0x44c7db
mov dword [esp], eax
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c695
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c68f
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c695
mov eax, dword [esp]
mov esi, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
jne 0x44c67e
xor ebx, ebx
cmp dword [eax + 0x10], 2
jl 0x44c7d1
mov ebx, 0xffffffff
cmp dword [eax + 4], 8
jge 0x44c7db
jmp 0x44c61c
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c6fe
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c6f8
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c6fe
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xf0]
test edi, edi
je 0x44c8a5
cmp dword [edi + 4], 8
jl 0x44c75a
push edi
call fcn.00431330
add esp, 4
lea ecx, [esp + 0xf0]
cmp dword [esp + 0x2c], 0
jne 0x44c8b0
test ebx, ebx
js 0x44c7ab
je 0x44c7f8
cmp dword [esp + 0x20], 0
je 0x44c9d6
mov eax, dword [esp + 0xf4]
jmp 0x44c914
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c82d
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c827
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c82d
cmp dword [esp + 0x20], 0
jne 0x44c9d6
mov eax, dword [esp + 0xf4]
jmp 0x44c974
xor ebx, ebx
cmp edx, dword [esp + 0x34]
mov esi, dword [esp + 0x10]
mov eax, ecx
setl bl
cmp dword [eax + 4], 8
jl 0x44c61c
push eax
call fcn.00431330
add esp, 4
lea ecx, [esp + 0xf0]
test edi, edi
jne 0x44c718
jmp 0x44c8a5
mov eax, dword [esp + 0xf4]
mov edx, eax
shr edx, 0x14
and edx, 0x7ff
sub edx, dword [esp + 0x48]
jle 0x44c8d3
test byte [esp + 0xf0], 1
jne 0x44c90d
jmp 0x44c9d6
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov eax, dword [edi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edi], ecx
mov dword [eax*4 + 0x588530], edi
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44c893
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44c88d
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44c893
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xf0]
cmp dword [esp + 0x2c], 0
je 0x44c739
test ebx, ebx
jg 0x44c9d6
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
jmp 0x44c9d6
mov ecx, 1
sub ecx, edx
cmp ecx, 0x1f
jg 0x44c8f7
mov edx, dword [esp + 0xf0]
bt edx, ecx
lea ecx, [esp + 0xf0]
jb 0x44c90d
jmp 0x44c9d6
add cl, 0xe0
movzx ecx, cl
bt eax, ecx
lea ecx, [esp + 0xf0]
jae 0x44c9d6
cmp dword [esp + 0x20], 0
je 0x44c974
mov ecx, eax
and ecx, 0x7ff00000
add ecx, 0xfcc00000
cmp dword [esp + 0x48], 0
movd xmm0, ecx
pshufd xmm0, xmm0, 0x51
je 0x44c959
shr eax, 0x14
mov ecx, 0x6b
and eax, 0x7ff
sub ecx, eax
jle 0x44c959
shl ecx, 0x14
add ecx, 0x3ff00000
movd xmm1, ecx
pshufd xmm1, xmm1, 0x51
mulsd xmm0, xmm1
addsd xmm0, qword [esp + 0xf0]
lea ecx, [esp + 0xf0]
movsd qword [esp + 0xf0], xmm0
jmp 0x44c9d6
mov ecx, eax
and ecx, 0x7ff00000
add ecx, 0xfcc00000
cmp dword [esp + 0x48], 0
movd xmm0, ecx
pshufd xmm0, xmm0, 0x51
je 0x44c9b9
shr eax, 0x14
mov ecx, 0x6b
and eax, 0x7ff
sub ecx, eax
jle 0x44c9b9
shl ecx, 0x14
add ecx, 0x3ff00000
movd xmm1, ecx
pshufd xmm1, xmm1, 0x51
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xf0]
subsd xmm1, xmm0
movsd qword [esp + 0xf0], xmm1
mov eax, 0x7ff00000
and eax, dword [esp + 0xf4]
cmp eax, 0x7ff00000
je 0x44ca7e
test eax, eax
jne 0x44ca19
movsd xmm0, qword [esp + 0xf0]
xorpd xmm1, xmm1
xor ecx, ecx
ucomisd xmm0, xmm1
jne 0x44ca19
jp 0x44ca19
mov edi, dword [esp + 0x30]
mov dword [esp + 0xf4], 0
jmp 0x44ca93
cmp dword [esp + 0x48], 0
je 0x44ca72
movsd xmm0, qword [esp + 0xf0]
mov eax, 0xffffffff
mov ecx, 0x7fefffff
add eax, 1
adc ecx, 0
mulsd xmm0, qword [0x537358]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0x88], xmm0
and ecx, dword [esp + 0x8c]
and eax, dword [esp + 0x88]
mov edi, dword [esp + 0x30]
or eax, ecx
jne 0x44cf1c
jmp 0x44cf11
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x30]
jmp 0x44cf1f
mov dword [esp], 0
mov edi, dword [esp + 0x30]
mov dword [ecx + 4], 0x7ff00000
mov ecx, dword [esp]
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x44cf11
mov dword [esp + 0x10], esi
test eax, eax
mov esi, ecx
je 0x44cb8f
cmp dword [eax + 4], 8
jl 0x44cacc
push eax
call fcn.00431330
add esp, 4
jmp 0x44cb8d
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cb18
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cb12
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cb18
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cb82
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cb7c
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cb82
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x44cc72
cmp dword [eax + 4], 8
jl 0x44cbaf
push eax
call fcn.00431330
add esp, 4
jmp 0x44cc70
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cbfb
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cbf5
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cbfb
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cc65
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cc5f
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cc65
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x44cd55
cmp dword [eax + 4], 8
jl 0x44cc92
push eax
call fcn.00431330
add esp, 4
jmp 0x44cd53
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44ccde
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ccd8
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44ccde
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cd48
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cd42
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cd48
mov edi, dword [0x588550]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, dword [esp + 0x30]
mov ecx, esi
cmp dword [ecx + 4], 8
jl 0x44cd74
push ecx
call fcn.00431330
add esp, 4
cmp dword [esp + 0x1c], 0
jne 0x44ce3c
jmp 0x44cf11
mov edi, dword [0x588550]
cmp edi, 1
ja 0x44cdc0
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cdba
mov ecx, 0x588554
mov edi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cdc0
mov edi, dword [0x588550]
mov ecx, edi
call fcn.0043ae20
mov eax, dword [esi + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [esi], ecx
mov dword [eax*4 + 0x588530], esi
mov esi, dword [0x588550]
mov edi, dword [esp + 0x30]
cmp esi, 1
ja 0x44ce2a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ce24
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44ce2a
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [esp + 0x1c], 0
je 0x44cf11
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], 8
jl 0x44ce54
push eax
call fcn.00431330
add esp, 4
jmp 0x44cf11
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44cea0
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44ce9a
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cea0
mov esi, dword [0x588550]
mov ecx, esi
call fcn.0043ae20
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
mov ecx, dword [eax*4 + 0x588530]
mov dword [edx], ecx
mov dword [eax*4 + 0x588530], edx
mov esi, dword [0x588550]
cmp esi, 1
ja 0x44cf0a
push 0x588550
call fcn.004192f0
add esp, 4
test al, al
je 0x44cf04
mov ecx, 0x588554
mov esi, 0x588554
call fcn.0043ae10
push 0x588550
push 0
push 0x588554
push 0x588550
call fcn.004193a0
add esp, 0x10
jmp 0x44cf0a
mov esi, dword [0x588550]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call fcn.0051349f
mov dword [eax], 0x22
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x44af81
jmp 0x44af83
mov esi, dword [esp + 8]
jmp 0x44bdb3
mov ebx, eax
jmp 0x44b2e4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], 0
cmp dword [esp + 0x34], eax
jle 0x44cf5b
mov ecx, dword [esp + 4]
jmp 0x44b3db
mov ecx, dword [esp]
jmp 0x44ca08