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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, dword [ebp + 0xc]
je 0x41bb85
push esi
push edi
cmp eax, ebx
je 0x41bb69
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
mov esi, dword [eax + 4]
lea edi, [eax + 4]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ad4c
cmp dword [esi + 0xc], 0
jl 0x41ad40
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41ad40
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ad36
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi], ecx
jmp 0x41ad4c
mov edx, dword [ecx - 0xc]
push edx
push ecx
mov ecx, edi
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 8]
mov esi, dword [edi + 8]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ada8
cmp dword [esi + 0xc], 0
jl 0x41ad9b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41ad9b
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ad90
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 8], ecx
jmp 0x41ada8
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 8]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0xc]
mov esi, dword [edi + 0xc]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ae04
cmp dword [esi + 0xc], 0
jl 0x41adf7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41adf7
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41adec
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0xc], ecx
jmp 0x41ae04
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0xc]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x10]
mov esi, dword [edi + 0x10]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ae60
cmp dword [esi + 0xc], 0
jl 0x41ae53
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41ae53
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ae48
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x10], ecx
jmp 0x41ae60
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x10]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x14]
mov esi, dword [edi + 0x14]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41aebc
cmp dword [esi + 0xc], 0
jl 0x41aeaf
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41aeaf
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41aea4
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x14], ecx
jmp 0x41aebc
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x14]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
mov esi, dword [edi + 0x18]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41af18
cmp dword [esi + 0xc], 0
jl 0x41af0b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41af0b
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41af00
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x18], ecx
jmp 0x41af18
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x18]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [edi + 0x1c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41af74
cmp dword [esi + 0xc], 0
jl 0x41af67
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41af67
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41af5c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x1c], ecx
jmp 0x41af74
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x1c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x20]
mov esi, dword [edi + 0x20]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41afd0
cmp dword [esi + 0xc], 0
jl 0x41afc3
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41afc3
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41afb8
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x20], ecx
jmp 0x41afd0
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x20]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x2c]
mov esi, dword [edi + 0x2c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b02c
cmp dword [esi + 0xc], 0
jl 0x41b01f
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b01f
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b014
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x2c], ecx
jmp 0x41b02c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x30]
mov esi, dword [edi + 0x30]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b088
cmp dword [esi + 0xc], 0
jl 0x41b07b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b07b
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b070
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x30], ecx
jmp 0x41b088
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x30]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x54]
mov esi, dword [edi + 0x54]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b0e4
cmp dword [esi + 0xc], 0
jl 0x41b0d7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b0d7
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b0cc
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x54], ecx
jmp 0x41b0e4
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x54]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x58]
mov esi, dword [edi + 0x58]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b140
cmp dword [esi + 0xc], 0
jl 0x41b133
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b133
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b128
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x58], ecx
jmp 0x41b140
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x58]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x5c]
mov esi, dword [edi + 0x5c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b19c
cmp dword [esi + 0xc], 0
jl 0x41b18f
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b18f
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b184
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x5c], ecx
jmp 0x41b19c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x5c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x34]
mov esi, dword [edi + 0x34]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b1f8
cmp dword [esi + 0xc], 0
jl 0x41b1eb
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b1eb
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b1e0
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x34], ecx
jmp 0x41b1f8
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x34]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x44]
mov esi, dword [edi + 0x44]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b254
cmp dword [esi + 0xc], 0
jl 0x41b247
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b247
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b23c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x44], ecx
jmp 0x41b254
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x44]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x50]
mov esi, dword [edi + 0x50]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b2b0
cmp dword [esi + 0xc], 0
jl 0x41b2a3
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b2a3
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b298
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x50], ecx
jmp 0x41b2b0
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x50]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x4c]
mov esi, dword [edi + 0x4c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b30c
cmp dword [esi + 0xc], 0
jl 0x41b2ff
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b2ff
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b2f4
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x4c], ecx
jmp 0x41b30c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x4c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x60]
mov esi, dword [edi + 0x60]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b368
cmp dword [esi + 0xc], 0
jl 0x41b35b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b35b
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b350
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x60], ecx
jmp 0x41b368
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x60]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x28]
mov esi, dword [edi + 0x28]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b3c4
cmp dword [esi + 0xc], 0
jl 0x41b3b7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b3b7
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b3ac
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x28], ecx
jmp 0x41b3c4
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x28]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x40]
mov esi, dword [edi + 0x40]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b420
cmp dword [esi + 0xc], 0
jl 0x41b413
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b413
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b408
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x40], ecx
jmp 0x41b420
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x40]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x64]
mov esi, dword [edi + 0x64]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b47c
cmp dword [esi + 0xc], 0
jl 0x41b46f
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b46f
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b464
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x64], ecx
jmp 0x41b47c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x64]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x48]
mov esi, dword [edi + 0x48]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b4d8
cmp dword [esi + 0xc], 0
jl 0x41b4cb
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b4cb
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b4c0
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x48], ecx
jmp 0x41b4d8
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x48]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 0x38]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b534
cmp dword [esi + 0xc], 0
jl 0x41b527
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b527
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b51c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x38], ecx
jmp 0x41b534
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x38]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x24]
mov esi, dword [edi + 0x24]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b590
cmp dword [esi + 0xc], 0
jl 0x41b583
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b583
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b578
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x24], ecx
jmp 0x41b590
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x24]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x3c]
mov esi, dword [edi + 0x3c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b5ec
cmp dword [esi + 0xc], 0
jl 0x41b5df
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b5df
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b5d4
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x3c], ecx
jmp 0x41b5ec
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x3c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x68]
mov esi, dword [edi + 0x68]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b648
cmp dword [esi + 0xc], 0
jl 0x41b63b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b63b
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b630
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x68], ecx
jmp 0x41b648
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x68]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x6c]
mov esi, dword [edi + 0x6c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b6a4
cmp dword [esi + 0xc], 0
jl 0x41b697
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b697
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b68c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x6c], ecx
jmp 0x41b6a4
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x6c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x70]
mov esi, dword [edi + 0x70]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b700
cmp dword [esi + 0xc], 0
jl 0x41b6f3
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b6f3
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b6e8
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x70], ecx
jmp 0x41b700
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x70]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
mov esi, dword [edi + 0x78]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b75c
cmp dword [esi + 0xc], 0
jl 0x41b74f
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b74f
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b744
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x78], ecx
jmp 0x41b75c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x78]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x7c]
mov esi, dword [edi + 0x7c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b7b8
cmp dword [esi + 0xc], 0
jl 0x41b7ab
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b7ab
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b7a0
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x7c], ecx
jmp 0x41b7b8
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x7c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x80]
mov esi, dword [edi + 0x80]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b820
cmp dword [esi + 0xc], 0
jl 0x41b810
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b810
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b802
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x80], ecx
jmp 0x41b820
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x80]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x84]
mov esi, dword [edi + 0x84]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b888
cmp dword [esi + 0xc], 0
jl 0x41b878
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b878
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b86a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x84], ecx
jmp 0x41b888
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x84]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x88]
mov esi, dword [edi + 0x88]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b8f0
cmp dword [esi + 0xc], 0
jl 0x41b8e0
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b8e0
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b8d2
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x88], ecx
jmp 0x41b8f0
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x88]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x8c]
mov esi, dword [edi + 0x8c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b958
cmp dword [esi + 0xc], 0
jl 0x41b948
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b948
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b93a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x8c], ecx
jmp 0x41b958
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x8c]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x74]
mov esi, dword [edi + 0x74]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41b9b4
cmp dword [esi + 0xc], 0
jl 0x41b9a7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41b9a7
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b99c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x74], ecx
jmp 0x41b9b4
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x74]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x90]
mov esi, dword [edi + 0x90]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ba1c
cmp dword [esi + 0xc], 0
jl 0x41ba0c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41ba0c
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b9fe
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x90], ecx
jmp 0x41ba1c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x90]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x94]
mov esi, dword [edi + 0x94]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41ba84
cmp dword [esi + 0xc], 0
jl 0x41ba74
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41ba74
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ba66
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x94], ecx
jmp 0x41ba84
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x94]
call fcn.0040d560
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x98]
mov esi, dword [edi + 0x98]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41baef
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x41badc
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41badc
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x41bace
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x98], ecx
jmp 0x41baec
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x98]
call fcn.0040d560
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x9c]
mov esi, dword [edi + 0x9c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x41bb5a
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x41bb47
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41bb47
push eax
call fcn.0040d710
mov dword [ebp - 4], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x41bb39
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
mov dword [edi + 0x9c], ecx
jmp 0x41bb57
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [edi + 0x9c]
call fcn.0040d560
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xa0], ecx
add ebx, 0xa4
add eax, 0xa4
mov dword [ebp + 0x10], eax
mov dword [ebp + 8], ebx
cmp ebx, dword [ebp + 0xc]
jne 0x41ace6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret