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

Disassembly:
push 0xffffffffffffffff
push 0x59f3da
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x61e69c]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xe8]
lea eax, [esp + 0x58]
push eax
call fcn.0048dda0
mov dword [esp + 0xe0], 0
mov edx, dword [0x6285c4]
mov eax, dword [edx + 0xc]
mov ecx, 0x6285c4
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0xe0], 1
mov edx, dword [0x6285c4]
mov eax, dword [edx + 0xc]
mov ecx, 0x6285c4
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0xe0], 2
mov eax, dword [ebp + 0xbc]
cmp eax, 0x18
jne 0x44d04b
lea ebx, [eax - 0x16]
push 0x5df140
lea eax, [esp + 0x20]
call fcn.004072f0
mov ecx, dword [esp + 0x1c]
push ecx
push 0x5df148
lea edi, [esp + 0x20]
call fcn.00407710
mov ebx, edi
add esp, 8
lea edi, [esp + 0x58]
call fcn.0042d130
lea ebx, [ebp + 0xc8]
call fcn.0042d130
lea edx, [esp + 0x20]
push edx
mov ecx, 0x5df154
call fcn.004066b0
mov byte [esp + 0xe0], 3
jmp 0x44d0d3
cmp eax, 0x39
jne 0x44d079
mov edx, 0x5df168
lea edi, [esp + 0x1c]
call fcn.00406780
mov ecx, dword [esp + 0x1c]
push ecx
push str.ck_W
lea edi, [esp + 0x20]
call fcn.00407710
add esp, 8
jmp 0x44d290
cmp eax, 0x19
jne 0x44d111
mov edx, 0x5df19c
lea edi, [esp + 0x1c]
call fcn.00406780
mov edx, dword [esp + 0x1c]
push edx
push 0x5df148
lea edi, [esp + 0x20]
call fcn.00407710
mov ebx, edi
add esp, 8
lea edi, [esp + 0x58]
call fcn.0042d130
lea ebx, [ebp + 0xc8]
call fcn.0042d130
lea eax, [esp + 0x20]
push eax
mov ecx, 0x5df154
call fcn.004066b0
mov byte [esp + 0xe0], 4
lea ebx, [esp + 0x20]
lea edi, [esp + 0x58]
call fcn.0042d130
mov byte [esp + 0xe0], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44d29d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x44d29d
cmp eax, 0x1a
jne 0x44d16c
mov edx, 0x5df1a8
lea edi, [esp + 0x1c]
call fcn.00406780
mov ecx, dword [esp + 0x1c]
push ecx
push 0x5df148
lea edi, [esp + 0x20]
call fcn.00407710
mov ebx, edi
add esp, 8
lea edi, [esp + 0x58]
call fcn.0042d130
lea ebx, [ebp + 0xc8]
call fcn.0042d130
lea edx, [esp + 0x20]
push edx
mov ecx, 0x5df154
call fcn.004066b0
mov byte [esp + 0xe0], 5
jmp 0x44d21a
cmp eax, 0x1b
jne 0x44d1c4
mov edx, 0x5df1a8
lea edi, [esp + 0x1c]
call fcn.00406780
mov eax, dword [esp + 0x1c]
push eax
push str.ck_W:_
lea edi, [esp + 0x20]
call fcn.00407710
mov ebx, edi
add esp, 8
lea edi, [esp + 0x58]
call fcn.0042d130
lea ebx, [ebp + 0xc8]
call fcn.0042d130
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x5df154
call fcn.004066b0
mov byte [esp + 0xe0], 6
jmp 0x44d21a
cmp eax, 0x1c
jne 0x44d238
mov edx, 0x5df1c0
lea edi, [esp + 0x1c]
call fcn.00406780
mov edx, dword [esp + 0x1c]
push edx
push 0x5df148
lea edi, [esp + 0x20]
call fcn.00407710
mov ebx, edi
add esp, 8
lea edi, [esp + 0x58]
call fcn.0042d130
lea ebx, [ebp + 0xc8]
call fcn.0042d130
lea eax, [esp + 0x20]
push eax
mov ecx, 0x5df154
call fcn.004066b0
mov byte [esp + 0xe0], 7
lea ebx, [esp + 0x20]
lea edi, [esp + 0x58]
call fcn.0042d130
mov ecx, ebx
mov byte [esp + 0xe0], 2
call fcn.00406760
jmp 0x44d29d
cmp eax, 0x1e
jne 0x44d263
mov edx, 0x5df1c8
lea edi, [esp + 0x1c]
call fcn.00406780
mov ecx, dword [esp + 0x1c]
push ecx
push str.ck_W_
lea edi, [esp + 0x20]
call fcn.00407710
add esp, 8
jmp 0x44d290
cmp eax, 0x1f
jne 0x44d27d
mov edx, 0x5df12c
lea edi, [esp + 0x1c]
call fcn.00406780
mov edx, dword [esp + 0x1c]
push edx
jmp 0x44d250
cmp eax, 0x20
jne 0x44d29d
mov edx, 0x5df1f4
lea edi, [esp + 0x18]
call fcn.00406780
lea ebx, [esp + 0x18]
lea edi, [esp + 0x58]
call fcn.0042d130
mov ecx, dword [ebp + 4]
lea eax, [esp + 0xa8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [0x6285c4]
mov eax, dword [edx + 0xc]
mov ecx, 0x6285c4
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x20], ebx
mov byte [esp + 0xe0], 8
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x64]
xor edi, edi
sar eax, 2
test eax, eax
jle 0x44d312
cmp edi, eax
jb 0x44d2e8
call fcn.004f825e
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + edi*4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea edx, [esp + 0x28]
push edx
call fcn.00409a20
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x64]
inc edi
sar eax, 2
cmp edi, eax
jl 0x44d2e1
mov ebx, dword [esp + 0x20]
mov esi, dword [0x6610d0]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x44d35d
mov eax, dword [0x660fcc]
push esi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [0x660fcc]
lea ecx, [esp + 0x80]
push ecx
push eax
push ebx
push edx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x660fcc]
push edi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xb0]
mov eax, ecx
sub eax, edi
sub eax, ebx
mov dword [esp + 0x50], edx
cdq
sub eax, edx
sar eax, 1
add eax, edi
cmp eax, 0x28
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
jge 0x44d3af
mov eax, 0x28
mov dword [esp + 0x44], eax
lea edx, [eax + ebx]
lea edi, [edx + 0x28]
cmp edi, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], 0
jle 0x44d3d4
lea edx, [ecx - 0x28]
mov dword [esp + 0x30], 1
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x84]
mov ecx, dword [ebp + 0xbc]
mov edi, 0x44
add ebx, edi
sub esp, 0x10
mov dword [esp + 0x60], ebx
cmp ecx, 0x1d
jne 0x44d434
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov eax, esp
mov dword [eax], ecx
mov ecx, edi
mov dword [eax + 4], ecx
sub esp, 0x18
mov dword [eax + 8], edx
mov ecx, ebx
mov edx, esp
mov dword [eax + 0xc], ecx
mov dword [esp + 0x7c], esp
push edx
lea ecx, [esp + 0x84]
call fcn.0042d030
mov ecx, esi
mov esi, dword [esp + 0x114]
push ebp
call fcn.004521e0
jmp 0x44d49c
cmp ecx, 0x20
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], ebx
lea ecx, [esp + 0x68]
jne 0x44d475
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
call fcn.0042d030
mov ecx, dword [0x6610b8]
mov edx, dword [esp + 0x114]
push 0x1c1c1c
push ecx
push edx
push ebp
call fcn.00452d40
jmp 0x44d49c
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
call fcn.0042d030
mov ecx, dword [esp + 0x58]
push 0x1c1c1c
push esi
push ecx
mov ecx, dword [esp + 0x120]
push ebp
call fcn.0044c940
mov edx, dword [0x6285c4]
mov eax, dword [edx + 0xc]
mov ecx, 0x6285c4
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0xe0], 9
mov ecx, dword [esp + 0x1c]
push ecx
push 0x5df224
lea edi, [esp + 0x38]
call fcn.00407710
add esp, 8
cmp dword [ebp + 0xbc], 0x20
jne 0x44d4eb
push 0x5df254
mov ebx, 0x1a
mov eax, edi
call fcn.004072f0
mov ebx, dword [esp + 0x30]
mov edi, dword [0x66109c]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x44d53b
mov edx, dword [0x660fcc]
push edi
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [0x660fcc]
lea ecx, [esp + 0x80]
push ecx
push eax
push ebx
push edx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x660fcc]
push esi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x78], eax
sub eax, edx
sub eax, ebx
mov dword [esp + 0x70], edx
cdq
sub eax, edx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0xb4]
mov esi, eax
sub ecx, 0xe
sar esi, 1
lea edx, [esi + ebx]
mov ebx, dword [esp + 0xec]
mov eax, dword [ebx + 4]
mov dword [esp + 0x7c], ecx
sub ecx, dword [esp + 0x84]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
push 0x6ec4
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x34]
push edi
push ecx
mov dword [esp + 0x84], edx
xor edx, edx
add eax, 0xfffffff0
mov dword [esp + 0x60], esp
mov dword [esp + 0x7c], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], 1
xor edi, edi
mov dword [esp + 0x30], esp
mov dword [esp + 0x60], eax
call fcn.004073f0
mov ecx, esp
add eax, 0x10
lea edx, [esp + 0x7c]
mov dword [ecx], eax
push edx
mov edx, edi
lea ecx, [esp + 0x98]
call fcn.004c5f0c
add esp, 0x10
test byte [0x660f8c], 1
jne 0x44d673
or dword [0x660f8c], 1
push 0x24
mov byte [esp + 0xe4], 0xa
call fcn.004f78be
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0xe0], 0xb
test eax, eax
je 0x44d664
push 4
push 1
push eax
mov edi, str.resdowntips_process_light.webp
call fcn.00445fc0
jmp 0x44d666
xor eax, eax
mov dword [0x660f88], eax
mov byte [esp + 0xe0], 9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, 0x44
push 0x28
mov dword [esp + 0x3c], eax
push 0
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov edx, dword [0x665c04]
mov eax, dword [edx + 0xc]
mov ecx, 0x665c04
call eax
mov edi, dword [esp + 0x38]
mov ecx, dword [0x665c14]
mov edx, dword [esp + 0x78]
add ecx, edi
cmp dword [ebp + 0xbc], 0x20
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], edx
jne 0x44d6f7
push 0x19
push 0
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
cmp dword [ebp + 0xbc], 0x1d
jne 0x44d97f
push 0xf
push 0
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp + 0xcc]
cmp ecx, 1
jne 0x44d738
mov ebp, dword [ebp + 0xd4]
lea ecx, [ebp + ebp*4]
add ecx, ecx
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fst qword [esp + 0x24]
jmp 0x44d76c
mov eax, dword [ebp + 0xd0]
imul eax, eax, 0x64
sub eax, 0x64
cdq
idiv ecx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fst qword [esp + 0x24]
fld qword [0x600610]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x44d76a
fstp st(1)
fst qword [esp + 0x24]
jmp 0x44d76c
fstp st(0)
mov eax, dword [ebx + 8]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
cmp eax, 0x660d0c
jne 0x44d7c0
mov eax, dword [ebx + 0xc]
fstp st(0)
cmp dword [eax], 0
jne 0x44db70
mov ebx, dword [ebx + 4]
mov eax, dword [ebx + 4]
push 0
add ebx, 4
lea edx, [esp + 0x48]
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x44db70
cmp dword [0x660d0c], 0
jl 0x44db6e
cmp eax, 0x660d00
jne 0x44d819
mov eax, dword [ebx + 0xc]
fstp st(0)
mov dword [esp + 0x7c], ecx
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], edx
push ecx
mov edx, ecx
push edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], esi
call dword [sym.imp.USER32.dll_IntersectRect]
fld qword [esp + 0x24]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
neg eax
sbb eax, eax
and eax, 2
dec eax
jmp 0x44d81e
mov eax, dword [0x660d00]
test eax, eax
jl 0x44db6e
cmp dword [ebx + 8], 0x660d08
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
jne 0x44d8e0
mov esi, dword [ebx + 0xc]
fstp st(0)
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
lea edx, [esp + 0x90]
push edx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x44d876
fld qword [esp + 0x24]
or eax, 0xffffffff
jmp 0x44d8e5
mov eax, dword [esi + 0x1c]
cmp eax, 0x200
jne 0x44d888
fld qword [esp + 0x24]
xor eax, eax
jmp 0x44d8e5
cmp eax, 0x201
jne 0x44d897
fld qword [esp + 0x24]
xor eax, eax
jmp 0x44d8e5
cmp eax, 0x202
jne 0x44d8a6
fld qword [esp + 0x24]
xor eax, eax
jmp 0x44d8e5
cmp eax, 0x203
jne 0x44d8b8
fld qword [esp + 0x24]
mov eax, 2
jmp 0x44d8e5
cmp eax, 0x204
jne 0x44d8ca
fld qword [esp + 0x24]
mov eax, 5
jmp 0x44d8e5
fld qword [esp + 0x24]
xor ecx, ecx
cmp eax, 0x205
setne cl
dec ecx
and ecx, 6
mov eax, ecx
jmp 0x44d8e5
mov eax, dword [0x660d08]
test eax, eax
jl 0x44db6e
fld qword [0x6005b8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x44d906
mov edx, dword [0x660f88]
xor eax, eax
jmp 0x44d90a
xor eax, eax
xor edx, edx
sub esp, 8
fstp qword [esp]
push edx
mov dword [esp + 0xc4], ebx
mov ebx, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
push 0x665c4c
push 0x665c28
push 0x665c04
lea edx, [esp + 0x4c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
push edx
lea eax, [esp + 0xd4]
push eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf4], 1
call fcn.004c5fe1
add esp, 0x20
jmp 0x44db70
mov eax, dword [ebp + 0xd4]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov eax, dword [ebx + 8]
mov dword [esp + 0x88], esi
fstp qword [esp + 0x24]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
cmp eax, 0x660d0c
jne 0x44d9e7
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
jne 0x44db70
mov ebx, dword [ebx + 4]
mov edx, dword [ebx + 4]
push 0
add ebx, 4
lea ecx, [esp + 0x8c]
push ecx
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x44db70
cmp dword [0x660d0c], 0
jl 0x44db70
cmp eax, 0x660d00
jne 0x44da40
mov eax, dword [ebx + 0xc]
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x80], ecx
push eax
mov ecx, eax
push ecx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edx
call dword [sym.imp.USER32.dll_IntersectRect]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
neg eax
sbb eax, eax
and eax, 2
dec eax
jmp 0x44da45
mov eax, dword [0x660d00]
test eax, eax
jl 0x44db70
cmp dword [ebx + 8], 0x660d08
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
jne 0x44dad6
mov esi, dword [ebx + 0xc]
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x44da84
or eax, 0xffffffff
jmp 0x44dadb
mov eax, dword [esi + 0x1c]
cmp eax, 0x200
jne 0x44da92
xor eax, eax
jmp 0x44dadb
cmp eax, 0x201
jne 0x44da9d
xor eax, eax
jmp 0x44dadb
cmp eax, 0x202
jne 0x44daa8
xor eax, eax
jmp 0x44dadb
cmp eax, 0x203
jne 0x44dab6
mov eax, 2
jmp 0x44dadb
cmp eax, 0x204
jne 0x44dac4
mov eax, 5
jmp 0x44dadb
xor edx, edx
cmp eax, 0x205
setne dl
dec edx
and edx, 6
mov eax, edx
jmp 0x44dadb
mov eax, dword [0x660d08]
xor ecx, ecx
cmp eax, ecx
jl 0x44db70
fld qword [esp + 0x24]
mov dword [esp + 0xb8], ebx
mov ebx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx + 0xc]
sub esp, 8
mov dword [esp + 0xd0], eax
fstp qword [esp]
xor eax, eax
cmp dword [ebp + 0xd4], 0xa
mov dword [esp + 0xc4], ecx
setl al
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0xc0]
mov dword [esp + 0xcc], ebx
dec eax
and eax, dword [0x660f88]
mov dword [esp + 0xdc], 1
push eax
push 0x665c4c
push 0x665c28
push 0x665c04
push ecx
push edx
call fcn.004c5fe1
add esp, 0x20
jmp 0x44db70
fstp st(0)
mov eax, dword [esp + 0x54]
mov byte [esp + 0xe0], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44db95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xe0], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44dbbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xe0], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44dbe5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xe0], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44dc0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xe0], 0xffffffff
mov esi, dword [esp + 0x64]
test esi, esi
je 0x44dc62
mov eax, dword [esp + 0x68]
mov edi, eax
cmp esi, eax
je 0x44dc59
lea ebx, [ebx]
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44dc4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x44dc30
mov esi, dword [esp + 0x64]
push esi
call fcn.004f6734
add esp, 4
mov ecx, dword [esp + 0x58]
xor eax, eax
push ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
call fcn.004f6734
add esp, 4
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret 8