Function at 0x417100
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov eax, dword [0x42d310]
mov dword [ebp - 0x48], 0
test eax, eax
jne 0x418248
mov eax, dword [0x44be54]
test eax, eax
jle 0x41712c
add dword [0x44be44], eax
mov eax, dword [0x44c3e4]
mov dword [0x44be54], 0
test eax, eax
jne 0x41846e
mov eax, dword [0x42d074]
test eax, eax
je 0x41722d
mov dword [ebp - 0x34], 0x4246c0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
lea edi, [eax + 4]
add eax, 0x404
mov dword [ebp - 0x2c], eax
lea esi, [esi]
nop
mov eax, dword [edi]
test eax, eax
je 0x417203
mov esi, eax
mov dword [ebp - 0x30], edi
and esi, 0xfffff000
mov edx, esi
shr edx, 0x16
mov ecx, dword [edx*4 + 0x448d14]
mov edx, esi
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ecx + edx*4]
nop
mov ecx, eax
sub ecx, esi
mov ebx, ecx
shr ecx, 3
shr ebx, 8
and ecx, 0x1f
mov edi, dword [edx + ebx*4 + 0x20]
bt edi, ecx
jb 0x4171c7
mov edi, 1
shl edi, cl
or dword [edx + ebx*4 + 0x20], edi
add dword [edx + 0x1c], 1
mov eax, dword [eax]
test eax, eax
je 0x417200
mov ecx, eax
and ecx, 0xfffff000
cmp esi, ecx
je 0x4171f3
mov edx, ecx
shr edx, 0x16
mov ebx, dword [edx*4 + 0x448d14]
mov edx, ecx
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ebx + edx*4]
mov esi, ecx
jmp 0x4171a0
mov edi, dword [ebp - 0x30]
add edi, 4
cmp dword [ebp - 0x2c], edi
jne 0x417170
add dword [ebp - 0x34], 0x14
mov eax, dword [ebp - 0x34]
mov esi, 0x4246fc
cmp esi, eax
jne 0x417157
mov eax, 1
call fcn.00413360
mov edi, dword [0x42d3cc]
mov dword [ebp - 0x3c], 0
test edi, edi
je 0x41724e
mov ecx, dword [0x42d3d4]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x3c], eax
mov eax, dword [0x42d3c4]
mov dword [0x44be2c], eax
mov eax, dword [0x42d3b8]
mov dword [0x44be30], eax
mov eax, dword [0x42d3d8]
test eax, eax
je 0x4173a4
mov ecx, eax
mov esi, eax
and ecx, 0xfffff000
mov edx, ecx
sub esi, ecx
shr edx, 0x16
mov ebx, dword [edx*4 + 0x448d14]
mov edx, ecx
mov ecx, esi
shr edx, 0xc
shr ecx, 3
and edx, 0x3ff
and ecx, 0x1f
mov edx, dword [ebx + edx*4]
mov ebx, esi
shr ebx, 8
mov esi, dword [edx + ebx*4 + 0x20]
bt esi, ecx
jae 0x418140
mov edx, dword [0x42d3dc]
test edx, edx
je 0x4173a4
xor edi, edi
jmp 0x4172d1
add edi, 1
cmp edi, edx
jae 0x4173a4
mov eax, dword [0x42d3d8]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4172c1
test bl, 1
jne 0x4172c1
mov eax, dword [0x42d374]
mov esi, ebx
mov edx, dword [0x42d36c]
shr esi, 0xc
mov dword [ebp - 0x2c], eax
mov eax, ebx
and esi, 0x3ff
shr eax, 0x16
mov dword [ebp - 0x38], esi
add eax, 0x6e7c
mov dword [ebp - 0x44], eax
mov eax, dword [eax*4 + 0x42d324]
mov esi, dword [eax + esi*4]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x41811a
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
mov dword [0x42d374], eax
cmp edx, ecx
ja 0x41734d
nop
mov ecx, dword [0x42d39c]
lea ecx, [edx + ecx*8]
call fcn.00415810
mov edx, dword [0x42d36c]
mov dword [0x42d374], eax
cmp eax, edx
jae 0x417330
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x38]
mov edx, ebx
shr ebx, 3
shr edx, 8
mov ecx, ebx
mov eax, dword [eax*4 + 0x42d324]
and edx, 0xf
and ecx, 0x1f
mov eax, dword [eax + esi*4]
mov ebx, dword [eax + edx*4 + 0x20]
bt ebx, ecx
jb 0x417385
mov esi, 1
shl esi, cl
or dword [eax + edx*4 + 0x20], esi
add dword [eax + 0x1c], 1
mov ecx, dword [0x42d3a0]
test ecx, ecx
jne 0x41744a
mov edx, dword [0x42d3dc]
add edi, 1
cmp edi, edx
jb 0x4172cc
mov ecx, dword [0x42d3c8]
mov eax, 1
shl eax, cl
mov esi, eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x42d3c0]
test eax, eax
je 0x417574
test esi, esi
je 0x417574
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x2c], 0
mov esi, dword [ebp - 0x2c]
mov ebx, dword [eax + esi*4]
lea edi, [esi*4]
mov dword [ebp - 0x30], edi
test ebx, ebx
je 0x417433
xor edi, edi
nop
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
not edx
mov ecx, edx
and ecx, 0xfffff000
mov esi, ecx
sub edx, ecx
shr ecx, 0xc
shr esi, 0x16
and ecx, 0x3ff
mov esi, dword [esi*4 + 0x448d14]
mov ecx, dword [esi + ecx*4]
mov esi, edx
shr edx, 3
shr esi, 8
mov ecx, dword [ecx + esi*4 + 0x20]
bt ecx, edx
jae 0x417470
mov edi, ebx
mov ebx, eax
test eax, eax
jne 0x4173f0
add dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], eax
je 0x417539
mov eax, dword [0x42d3c0]
jmp 0x4173d9
call fcn.00403170
test eax, eax
jne 0x417393
call fcn.00403170
test eax, eax
je 0x41744a
jmp 0x417393
mov edx, dword [ebx]
not edx
mov dword [edx], 0
test edi, edi
je 0x4174fa
mov edx, dword [0x42d070]
mov dword [edi + 4], eax
test edx, edx
jne 0x41750f
mov ecx, ebx
and ecx, 0xfffff000
mov edx, ecx
sub ebx, ecx
shr edx, 0x16
mov esi, dword [edx*4 + 0x448d14]
mov edx, ecx
mov ecx, ebx
shr ebx, 8
shr edx, 0xc
shr ecx, 3
and edx, 0x3ff
and ecx, 0x1f
mov edx, dword [esi + edx*4]
lea ebx, [edx + ebx*4]
mov esi, dword [ebx + 0x20]
mov dword [ebp - 0x34], ebx
bt esi, ecx
jae 0x4174ee
mov ebx, dword [edx + 0x1c]
mov dword [ebp - 0x40], ebx
mov ebx, 1
shl ebx, cl
mov ecx, ebx
mov ebx, dword [ebp - 0x34]
not ecx
and esi, ecx
mov dword [ebx + 0x20], esi
mov ebx, dword [ebp - 0x40]
lea ecx, [ebx - 1]
mov dword [edx + 0x1c], ecx
sub dword [0x42d3c4], 1
jmp 0x41742d
mov edx, dword [0x42d3c0]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x44], 1
mov dword [edx + esi], eax
jmp 0x41748f
mov edx, edi
mov ecx, edi
mov esi, 1
shr edx, 0x11
shr ecx, 0xc
and edx, 0x1fff
shl esi, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], esi
jmp 0x41748f
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x417574
mov esi, dword [0x42d070]
test esi, esi
je 0x417574
mov eax, dword [0x42d3c0]
mov ebx, 1
mov edx, eax
shr eax, 0xc
shr edx, 0x11
mov ecx, eax
and edx, 0x1fff
shl ebx, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], ebx
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x41845f
mov dword [ebp - 0x38], 0
mov eax, dword [0x42d3cc]
mov esi, dword [ebp - 0x38]
mov ebx, dword [eax + esi*4]
test ebx, ebx
jne 0x4175ab
jmp 0x41767d
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x417678
mov esi, dword [ebx]
not esi
mov eax, esi
and eax, 0xfffff000
mov edx, eax
mov edi, eax
shr edx, 0xc
shr edi, 0x16
mov ecx, edx
mov edx, esi
add edi, 0x6e7c
sub edx, eax
and ecx, 0x3ff
mov eax, edx
shr edx, 8
mov dword [ebp - 0x30], ecx
shr eax, 3
add edx, 8
and eax, 0x1f
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2c], eax
mov eax, dword [edi*4 + 0x42d324]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
bt eax, ecx
jb 0x4175a0
mov dword [esp], esi
call dword [ebx + 0x14]
mov eax, dword [0x42d374]
mov edx, dword [0x42d36c]
cmp edx, eax
ja 0x41763d
lea esi, [esi]
lea esi, [esi]
mov ecx, dword [0x42d39c]
lea ecx, [edx + ecx*8]
call fcn.00415810
mov edx, dword [0x42d36c]
mov dword [0x42d374], eax
cmp eax, edx
jae 0x417620
mov eax, dword [edi*4 + 0x42d324]
mov edi, dword [ebp - 0x30]
mov eax, dword [eax + edi*4]
mov edi, dword [ebp - 0x34]
mov eax, dword [eax + edi*4]
mov edi, dword [ebp - 0x2c]
bt eax, edi
jae 0x4175a0
mov dword [esp + 4], esi
mov dword [esp], str.GC_Warning:_Finalization_cycle_involving__p_n
call dword [0x424810]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x4175ab
mov eax, dword [0x42d3cc]
add dword [ebp - 0x38], 1
mov esi, dword [ebp - 0x38]
cmp esi, dword [ebp - 0x3c]
jne 0x41758b
mov dword [0x42d34c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
mov edx, dword [eax + esi*4]
lea edi, [esi*4]
mov dword [ebp - 0x34], edi
test edx, edx
je 0x417777
xor esi, esi
mov dword [ebp - 0x2c], esi
jmp 0x41772c
mov esi, 1
shl esi, cl
mov ecx, dword [ebp - 0x2c]
or dword [eax + edi*4 + 0x20], esi
add dword [eax + 0x1c], 1
mov eax, dword [0x42d070]
test ecx, ecx
je 0x417791
mov esi, dword [ebp - 0x2c]
mov dword [esi + 4], ebx
test eax, eax
jne 0x4177e4
mov eax, dword [0x42d3d0]
sub dword [0x42d3b0], 1
mov dword [edx + 4], eax
mov dword [0x42d3d0], edx
mov eax, dword [edx + 0x10]
not dword [edx]
mov edx, dword [0x42d34c]
lea eax, [edx + eax + 0x18]
mov edx, ebx
mov dword [0x42d34c], eax
test ebx, ebx
je 0x417777
mov ecx, dword [edx]
not ecx
mov ebx, ecx
and ebx, 0xfffff000
mov eax, ebx
sub ecx, ebx
shr eax, 0x16
mov edi, dword [eax*4 + 0x448d14]
mov eax, ebx
mov ebx, dword [edx + 4]
shr eax, 0xc
and eax, 0x3ff
mov eax, dword [edi + eax*4]
mov edi, ecx
shr ecx, 3
shr edi, 8
and ecx, 0x1f
mov esi, dword [eax + edi*4 + 0x20]
bt esi, ecx
jae 0x4176d0
mov dword [ebp - 0x2c], edx
mov edx, ebx
test ebx, ebx
jne 0x41772c
add dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], eax
je 0x41780e
mov eax, dword [0x42d3cc]
jmp 0x4176a5
mov ecx, dword [0x42d3cc]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x38], 1
mov dword [ecx + esi], ebx
mov ecx, dword [0x42d3d0]
sub dword [0x42d3b0], 1
mov dword [edx + 4], ecx
test eax, eax
je 0x41770c
mov eax, edx
mov ecx, edx
mov esi, 1
shr eax, 0x11
shr ecx, 0xc
and eax, 0x1fff
shl esi, cl
add eax, 0x307c
lock or dword [eax*4 + 0x42d320], esi
jmp 0x41770c
mov eax, esi
mov ecx, esi
mov esi, 1
shr eax, 0x11
shr ecx, 0xc
and eax, 0x1fff
shl esi, cl
add eax, 0x307c
lock or dword [eax*4 + 0x42d320], esi
mov eax, dword [0x42d070]
jmp 0x4177a4
mov edi, dword [ebp - 0x38]
test edi, edi
je 0x417823
mov esi, dword [0x42d070]
test esi, esi
jne 0x4183e9
mov ecx, dword [0x42d3c8]
mov eax, 1
shl eax, cl
mov esi, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [0x42d3c0]
test eax, eax
je 0x417aa8
test esi, esi
je 0x417aa8
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
lea edi, [esi*4]
mov esi, dword [eax + esi*4]
mov dword [ebp - 0x40], edi
test esi, esi
je 0x417990
mov dword [ebp - 0x34], 0
lea esi, [esi]
nop
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ebx, dword [0x42d06c]
not edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edi
test ebx, ebx
je 0x417973
mov eax, edi
mov ecx, edi
shr eax, 0x16
and ecx, 0xfffff000
mov edx, dword [eax*4 + 0x448d14]
mov eax, edi
shr eax, 0xc
and eax, 0x3ff
mov edi, dword [edx + eax*4]
test edi, edi
je 0x417973
mov edx, edi
cmp edi, 0xfff
ja 0x4179aa
lea esi, [esi]
lea esi, [esi]
shl edx, 0xc
sub ecx, edx
mov edx, ecx
mov eax, ecx
shr edx, 0x16
mov ebx, dword [edx*4 + 0x448d14]
mov edx, ecx
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ebx + edx*4]
mov edi, edx
cmp edx, 0xfff
jbe 0x4178e0
test byte [edi + 0xd], 4
jne 0x417973
mov edi, dword [edi + 0x10]
mov ebx, eax
xor edx, edx
and eax, 0xffc
and ebx, 0xfffffffc
add ecx, 0x1000
div edi
sub ebx, edx
lea eax, [ebx + edi]
cmp ecx, eax
jae 0x417939
cmp edi, 0x1000
jbe 0x417973
cmp dword [ebp - 0x30], eax
jae 0x417973
test ebx, ebx
je 0x417973
mov eax, ebx
and eax, 0xfffff000
mov edx, eax
sub ebx, eax
shr eax, 0xc
shr edx, 0x16
and eax, 0x3ff
mov edx, dword [edx*4 + 0x448d14]
mov eax, dword [edx + eax*4]
mov edx, ebx
shr ebx, 3
shr edx, 8
mov eax, dword [eax + edx*4 + 0x20]
bt eax, ebx
jae 0x4179b2
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x417990
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x2c]
jmp 0x417880
add dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], eax
je 0x417a6e
mov eax, dword [0x42d3c0]
jmp 0x417858
mov eax, dword [ebp - 0x30]
jmp 0x41790b
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x417a2f
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
mov edx, dword [0x42d070]
mov dword [eax + 4], edi
test edx, edx
jne 0x417a46
mov edx, esi
and edx, 0xfffff000
mov eax, edx
sub esi, edx
shr eax, 0x16
mov ecx, dword [eax*4 + 0x448d14]
mov eax, edx
mov edx, esi
shr eax, 0xc
shr edx, 8
and eax, 0x3ff
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr ecx, 3
lea edx, [eax + edx*4]
and ecx, 0x1f
mov ebx, dword [edx + 0x20]
bt ebx, ecx
jae 0x417a20
mov edi, 1
mov esi, dword [eax + 0x1c]
shl edi, cl
mov ecx, edi
sub esi, 1
not ecx
and ebx, ecx
mov dword [edx + 0x20], ebx
mov dword [eax + 0x1c], esi
sub dword [0x42d3c4], 1
mov esi, dword [ebp - 0x34]
jmp 0x417973
mov eax, dword [0x42d3c0]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x44], 1
mov ebx, dword [ebp - 0x2c]
mov dword [eax + edi], ebx
jmp 0x4179cc
mov edi, eax
shr eax, 0x11
mov edx, 1
shr edi, 0xc
and eax, 0x1fff
mov ecx, edi
add eax, 0x307c
shl edx, cl
lock or dword [eax*4 + 0x42d320], edx
jmp 0x4179cc
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x417aa8
mov eax, dword [0x42d070]
test eax, eax
je 0x417aa8
mov eax, dword [0x42d3c0]
mov ebx, 1
mov edx, eax
shr eax, 0xc
shr edx, 0x11
mov ecx, eax
and edx, 0x1fff
shl ebx, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], ebx
mov eax, dword [0x42d3dc]
mov edx, dword [0x42d3d8]
lea ebx, [edx + eax*4]
test eax, eax
je 0x417b02
mov eax, dword [edx]
test al, 1
je 0x417afb
not eax
mov ecx, eax
and ecx, 0xfffff000
mov esi, ecx
sub eax, ecx
shr ecx, 0xc
shr esi, 0x16
and ecx, 0x3ff
mov esi, dword [esi*4 + 0x448d14]
mov ecx, dword [esi + ecx*4]
mov esi, eax
shr eax, 3
shr esi, 8
mov ecx, dword [ecx + esi*4 + 0x20]
bt ecx, eax
jb 0x417afb
mov dword [edx], 0
add edx, 4
cmp ebx, edx
jne 0x417aba
mov ecx, dword [0x42d3bc]
mov eax, 1
shl eax, cl
mov dword [ebp - 0x30], eax
mov eax, dword [0x42d3b4]
test eax, eax
je 0x417f12
mov edi, dword [ebp - 0x30]
test edi, edi
je 0x417f12
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2c], 0
mov esi, dword [ebp - 0x2c]
mov ebx, dword [eax + esi*4]
lea edi, [esi*4]
mov dword [ebp - 0x34], edi
test ebx, ebx
je 0x417b9c
xor edi, edi
nop
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
not edx
mov ecx, edx
and ecx, 0xfffff000
mov esi, ecx
sub edx, ecx
shr ecx, 0xc
shr esi, 0x16
and ecx, 0x3ff
mov esi, dword [esi*4 + 0x448d14]
mov ecx, dword [esi + ecx*4]
mov esi, edx
shr edx, 3
shr esi, 8
mov ecx, dword [ecx + esi*4 + 0x20]
bt ecx, edx
jae 0x417d3a
mov edi, ebx
mov ebx, eax
test eax, eax
jne 0x417b50
mov eax, dword [0x42d3b4]
add dword [ebp - 0x2c], 1
mov esi, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], esi
jne 0x417b38
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x417bbd
mov edx, dword [0x42d070]
test edx, edx
jne 0x418418
mov ecx, dword [0x42d3bc]
mov edx, 1
shl edx, cl
mov dword [ebp - 0x3c], edx
test eax, eax
je 0x417f12
test edx, edx
je 0x417f12
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
lea edi, [esi*4]
mov esi, dword [eax + esi*4]
mov dword [ebp - 0x40], edi
test esi, esi
je 0x417d20
mov dword [ebp - 0x34], 0
lea esi, [esi]
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x42d06c]
not edi
mov dword [ebp - 0x30], edi
test eax, eax
je 0x417d07
mov eax, edi
mov ecx, edi
shr eax, 0x16
and ecx, 0xfffff000
mov edx, dword [eax*4 + 0x448d14]
mov eax, edi
shr eax, 0xc
and eax, 0x3ff
mov edi, dword [edx + eax*4]
test edi, edi
je 0x417d07
mov edx, edi
cmp edi, 0xfff
ja 0x417dc8
lea esi, [esi]
lea esi, [esi]
nop
shl edx, 0xc
sub ecx, edx
mov edx, ecx
mov eax, ecx
shr edx, 0x16
mov ebx, dword [edx*4 + 0x448d14]
mov edx, ecx
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ebx + edx*4]
mov edi, edx
cmp edx, 0xfff
jbe 0x417c70
test byte [edi + 0xd], 4
jne 0x417d07
mov edi, dword [edi + 0x10]
mov ebx, eax
xor edx, edx
and eax, 0xffc
and ebx, 0xfffffffc
add ecx, 0x1000
div edi
sub ebx, edx
lea eax, [ebx + edi]
cmp ecx, eax
jae 0x417cc9
cmp edi, 0x1000
jbe 0x417d07
test ebx, ebx
je 0x417d07
cmp dword [ebp - 0x30], eax
jae 0x417d07
mov eax, ebx
and eax, 0xfffff000
mov edx, eax
sub ebx, eax
shr eax, 0xc
shr edx, 0x16
and eax, 0x3ff
mov edx, dword [edx*4 + 0x448d14]
mov eax, dword [edx + eax*4]
mov edx, ebx
shr ebx, 3
shr edx, 8
mov eax, dword [eax + edx*4 + 0x20]
bt eax, ebx
jae 0x417dd0
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x417d20
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x2c]
jmp 0x417c10
add dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], eax
je 0x417ed9
mov eax, dword [0x42d3b4]
jmp 0x417beb
mov edx, dword [ebx]
not edx
mov dword [edx], 0
test edi, edi
je 0x417e55
mov esi, dword [0x42d070]
mov dword [edi + 4], eax
test esi, esi
jne 0x417e87
mov ecx, ebx
and ecx, 0xfffff000
mov edx, ecx
sub ebx, ecx
shr edx, 0x16
mov esi, dword [edx*4 + 0x448d14]
mov edx, ecx
mov ecx, ebx
shr ebx, 8
shr edx, 0xc
shr ecx, 3
and edx, 0x3ff
and ecx, 0x1f
mov edx, dword [esi + edx*4]
lea ebx, [edx + ebx*4]
mov esi, dword [ebx + 0x20]
mov dword [ebp - 0x38], ebx
bt esi, ecx
jae 0x417dbc
mov ebx, dword [edx + 0x1c]
mov dword [ebp - 0x3c], ebx
mov ebx, 1
shl ebx, cl
mov ecx, ebx
mov ebx, dword [ebp - 0x38]
not ecx
and esi, ecx
mov dword [ebx + 0x20], esi
mov ebx, dword [ebp - 0x3c]
lea ecx, [ebx - 1]
mov dword [edx + 0x1c], ecx
sub dword [0x42d3b8], 1
jmp 0x417b91
mov eax, dword [ebp - 0x30]
jmp 0x417c9b
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x417e6d
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [0x42d070]
mov dword [eax + 4], edi
test ebx, ebx
jne 0x417eb1
mov edx, esi
and edx, 0xfffff000
mov eax, edx
sub esi, edx
shr eax, 0x16
mov ecx, dword [eax*4 + 0x448d14]
mov eax, edx
mov edx, esi
shr eax, 0xc
shr edx, 8
and eax, 0x3ff
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr ecx, 3
lea edx, [eax + edx*4]
and ecx, 0x1f
mov ebx, dword [edx + 0x20]
bt ebx, ecx
jae 0x417e46
mov edi, 1
mov esi, dword [eax + 0x1c]
shl edi, cl
mov ecx, edi
sub esi, 1
not ecx
and ebx, ecx
mov dword [edx + 0x20], ebx
mov dword [eax + 0x1c], esi
sub dword [0x42d3b8], 1
mov esi, dword [ebp - 0x34]
jmp 0x417d07
mov edx, dword [0x42d3b4]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x40], 1
mov dword [edx + esi], eax
jmp 0x417d5d
mov eax, dword [0x42d3b4]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x44], 1
mov ebx, dword [ebp - 0x2c]
mov dword [eax + edi], ebx
jmp 0x417df2
mov edx, edi
mov ecx, edi
mov esi, 1
shr edx, 0x11
shr ecx, 0xc
and edx, 0x1fff
shl esi, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], esi
jmp 0x417d5d
mov edi, eax
shr eax, 0x11
mov edx, 1
shr edi, 0xc
and eax, 0x1fff
mov ecx, edi
add eax, 0x307c
shl edx, cl
lock or dword [eax*4 + 0x42d320], edx
jmp 0x417df2
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x417f12
mov eax, dword [0x42d070]
test eax, eax
je 0x417f12
mov edx, dword [0x42d3b4]
mov ebx, 1
mov eax, edx
shr edx, 0xc
shr eax, 0x11
mov ecx, edx
and eax, 0x1fff
shl ebx, cl
add eax, 0x307c
lock or dword [eax*4 + 0x42d320], ebx
mov eax, dword [0x42d07c]
test eax, eax
jne 0x41839c
mov eax, dword [0x42d310]
mov dword [ebp - 0x4c], 0
test eax, eax
jne 0x41838e
mov eax, dword [0x44c3dc]
test eax, eax
jne 0x41837d
mov eax, dword [0x44be54]
mov dword [ebp - 0x44], 0x4246c0
xor edx, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
lea esi, [eax + 4]
add eax, 0x404
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x40], eax
lea esi, [esi]
nop
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x418035
mov esi, eax
and esi, 0xfffff000
mov edx, esi
shr edx, 0x16
mov ecx, dword [edx*4 + 0x448d14]
mov edx, esi
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ecx + edx*4]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x30], edi
lea esi, [esi]
lea esi, [esi]
mov ecx, eax
sub ecx, esi
mov ebx, ecx
shr ecx, 3
shr ebx, 8
and ecx, 0x1f
lea ebx, [edx + ebx*4]
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x34], ebx
bt edi, ecx
jae 0x417fef
mov ebx, dword [edx + 0x1c]
mov dword [ebp - 0x38], ebx
mov ebx, 1
shl ebx, cl
mov ecx, ebx
mov ebx, dword [ebp - 0x34]
not ecx
and edi, ecx
mov dword [ebx + 0x20], edi
mov ebx, dword [ebp - 0x38]
sub ebx, 1
mov dword [edx + 0x1c], ebx
mov eax, dword [eax]
mov ebx, dword [ebp - 0x30]
sub dword [ebp - 0x3c], ebx
test eax, eax
je 0x418030
mov ecx, eax
and ecx, 0xfffff000
cmp esi, ecx
je 0x418027
mov edx, ecx
shr edx, 0x16
mov ebx, dword [edx*4 + 0x448d14]
mov edx, ecx
shr edx, 0xc
and edx, 0x3ff
mov edx, dword [ebx + edx*4]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0x30], esi
mov esi, ecx
jmp 0x417fb0
mov edx, 1
add dword [ebp - 0x2c], 4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x40]
jne 0x417f70
add dword [ebp - 0x44], 0x14
mov eax, dword [ebp - 0x44]
mov esi, 0x4246fc
cmp esi, eax
jne 0x417f54
test dl, dl
je 0x418372
mov eax, dword [ebp - 0x3c]
mov dword [0x44be54], eax
cmp dword [0x42d310], 2
je 0x418447
xor eax, eax
call fcn.00413360
mov eax, dword [0x42d310]
test eax, eax
jne 0x418196
mov edi, dword [0x44c3c0]
mov ecx, dword [0x42d320]
test edi, edi
je 0x4182fc
sub ecx, dword [0x42d330]
mov dword [0x44be3c], 0
mov dword [0x44be40], ecx
mov eax, dword [0x42d344]
add dword [0x42d33c], eax
mov eax, dword [0x42d040]
mov dword [0x44be38], 0
mov dword [0x44c3c0], 0
mov dword [0x44be34], eax
mov eax, dword [0x42d310]
mov dword [0x42d344], 0
mov dword [0x42d348], 0
mov dword [0x42d350], 0
mov dword [0x42d354], 0
test eax, eax
jne 0x418256
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x42d39c]
mov ecx, dword [ebp - 0x2c]
mov esi, eax
mov dword [ebp - 0x34], eax
lea eax, [ecx + 8]
lea esi, [edx + esi*8]
mov ecx, eax
cmp eax, esi
jae 0x418154
mov esi, dword [ebp - 0x30]
mov dword [eax], ebx
mov dword [eax + 4], esi
jmp 0x417326
mov esi, 1
shl esi, cl
or dword [edx + ebx*4 + 0x20], esi
add dword [edx + 0x1c], 1
jmp 0x4172af
mov esi, dword [0x42d310]
mov dword [0x42d3a0], 5
mov dword [0x42d378], 1
test esi, esi
jne 0x418478
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov esi, dword [esi + 0x14]
sub eax, 0xff8
mov dword [eax], ebx
mov ecx, eax
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x30]
mov dword [eax + 4], esi
jmp 0x417326
mov eax, dword [0x42d340]
mov edx, dword [0x42d320]
mov dword [esp], str.GC__lu_freed__ld_bytes__heap__lu_KiB____lu_KiB_internal__n
add eax, 0x1cbf3
sub eax, edx
shr eax, 0xa
mov dword [esp + 0x10], eax
lea eax, [edx + 0x1ff]
shr eax, 0xa
mov dword [esp + 0xc], eax
mov eax, dword [0x44be54]
mov dword [esp + 8], eax
mov eax, dword [0x42d2ac]
mov dword [esp + 4], eax
call fcn.00411380
mov eax, dword [0x42d310]
test eax, eax
je 0x41808a
mov eax, dword [0x42d388]
mov ecx, dword [0x42d344]
mov ebx, dword [0x42d320]
add ecx, dword [0x42d38c]
lea edi, [ecx + 0x1ff]
lea esi, [eax + 0x1ff]
add ecx, eax
xor eax, eax
shr edi, 0xa
shr esi, 0xa
cmp ecx, ebx
jae 0x41822b
cmp ecx, 0x28f5c27
ja 0x4183d0
imul eax, ecx, 0x64
xor edx, edx
div ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.In_use_heap:__d_____lu_KiB_pointers___lu_KiB_other__n
call fcn.00411380
jmp 0x41808a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x48], eax
jmp 0x41711d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp], str._lu_finalization_entries___lu__lu_short_long_disappearing_links_alive_n
mov ebx, eax
mov eax, dword [0x42d3b8]
mov dword [esp + 0xc], eax
mov eax, dword [0x42d3c4]
mov dword [esp + 8], eax
mov eax, dword [0x42d3b0]
mov dword [esp + 4], eax
call fcn.00411380
mov eax, dword [0x42d3d0]
xor edx, edx
test eax, eax
je 0x41829a
mov eax, dword [eax + 4]
add edx, 1
test eax, eax
jne 0x418290
mov eax, dword [0x44be30]
sub eax, dword [0x42d3b8]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov eax, dword [0x44be2c]
sub eax, dword [0x42d3c4]
mov dword [esp], str._lu_finalization_ready_objects___ld__ld_short_long_links_cleared_n
mov dword [esp + 8], eax
call fcn.00411380
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
sub ebx, eax
sub eax, dword [ebp - 0x48]
mov dword [esp], str.Finalize_and_initiate_sweep_took__lu_ms__lu_ns___lu_ms__lu_ns_n
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
call fcn.00411380
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [0x42d068]
sub ecx, dword [0x44be40]
mov eax, dword [0x44be64]
test esi, esi
jne 0x418321
mov dword [ebp - 0x1c], ebp
mov esi, dword [0x44c3d8]
mov eax, dword [ebp - 0x1c]
sub esi, eax
mov eax, esi
mov edx, dword [0x42d38c]
add eax, dword [0x42d388]
mov ebx, dword [0x42d08c]
shr edx, 2
add edx, dword [0x42d294]
lea eax, [edx + eax*2]
xor edx, edx
div dword [0x424808]
mov edx, eax
shr edx, 1
test ebx, ebx
cmovne eax, edx
mov edx, 1
test eax, eax
cmove eax, edx
add eax, dword [0x42d330]
cmp ecx, eax
seta al
movzx eax, al
mov dword [0x44be3c], eax
jmp 0x4180b4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3c], eax
jmp 0x418069
mov dword [esp], str.Back_height_not_available:_Rebuild_collector_with__DMAKE_BACK_GRAPH_n
call fcn.004123d0
jmp 0x417f40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
jmp 0x417f33
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
shr edx, 8
xor edx, eax
movzx edx, dl
mov edx, dword [edx*4 + 0x44bfc0]
test edx, edx
je 0x421fc7
cmp dword [edx + 8], eax
jne 0x418496
mov eax, dword [edx + 4]
mov byte [eax + 0x10], 0
jmp 0x417f1f
mov eax, ebx
mov edx, 0x51eb851f
mul edx
mov eax, ecx
mov ebx, edx
xor edx, edx
shr ebx, 5
div ebx
jmp 0x41822b
mov eax, dword [0x42d3cc]
mov ebx, 1
mov edx, eax
shr eax, 0xc
shr edx, 0x11
mov ecx, eax
and edx, 0x1fff
shl ebx, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], ebx
jmp 0x417823
mov edx, eax
shr eax, 0xc
mov ebx, 1
shr edx, 0x11
mov ecx, eax
and edx, 0x1fff
shl ebx, cl
add edx, 0x307c
lock or dword [edx*4 + 0x42d320], ebx
mov eax, dword [0x42d3b4]
jmp 0x417bbd
mov eax, dword [ebp - 0x3c]
mov dword [esp], str.Bytes_recovered_before_sweep___f.l._count___ld_n
mov dword [esp + 4], eax
call fcn.00411380
jmp 0x418076
mov dword [0x42d34c], 0
jmp 0x417823
call fcn.00403250
jmp 0x417143
mov eax, dword [ebp - 0x34]
mov dword [esp], str.Mark_stack_overflow__current_size:__lu_entries_n
mov dword [esp + 4], eax
call fcn.00411380
mov edx, dword [0x42d36c]
jmp 0x418176
mov edx, dword [edx]
test edx, edx
je 0x4184a7
cmp eax, dword [edx + 8]
je 0x4183c4
jmp 0x418496
jmp 0x421fc7
mov eax, dword [4]
ud2