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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x104
mov eax, dword [ecx + 4]
push ebx
push esi
mov dword [esp + 0x70], eax
push edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], 0x130c158
mov edx, 0x130c160
mov eax, 1
lock xadd dword [edx], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x24], eax
add eax, 8
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x24]
test byte [eax + 0x1c], 1
jne 0x114a4a0
mov edx, dword [eax + 8]
cmp edx, 1
je 0x114a4a0
mov ecx, dword [esp + 0x24]
push 8
push 0x20
push 0x1146140
push 0x1146170
call fcn.00d4b690
mov esi, eax
mov eax, dword [esp + 0x24]
add eax, 8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114a49c
mov ecx, dword [esp + 0x24]
push 0x1146140
call fcn.00d4b360
mov dword [esp + 0x24], esi
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x114aaa4
jmp 0x114a4c0
mov edx, dword [eax + 8]
add edx, dword [esp + 0x2c]
mov eax, dword [eax + edx*4 + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
je 0x114aa88
push eax
call fcn.0115baa0
mov ecx, dword [eax + 0x4c]
and ecx, 0x7fffffff
add esp, 4
cmp ecx, 1
jne 0x114aa88
mov ebx, dword [esp + 0x28]
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x70]
mov dword [esp + 0x14], eax
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x14]
test byte [eax + 0x10], 1
jne 0x114a573
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
lea ecx, [esp + 0x18]
lea edi, [eax + edx*4 + 0x14]
call fcn.00d69390
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push edi
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
lea ecx, [esp + 0x20]
call fcn.01145cf0
mov eax, esi
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114a56f
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
lea eax, [esi + edx*4 + 0x14]
lea edx, [esi + ecx*4 + 0x14]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.01145bc0
push esi
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
mov dword [esp + 0x1c], 0
test edx, edx
jle 0x114a806
mov dword [esp + 0x98], ebx
add ecx, dword [esp + 0x1c]
mov ebx, dword [eax + ecx*4 + 0x14]
lea eax, [eax + ecx*4 + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xa0], 1
jne 0x114a6f5
mov eax, dword [ebx]
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov esi, dword [esp + 0x5c]
lea edx, [esp + 0x60]
push edx
call 0xd4b5c0
add esp, 4
rol esi, 0x10
xor esi, eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x74]
mov ecx, dword [edi + 0x18]
add eax, 0x74
mov dword [esp + 0x64], esi
mov dword [esp + 0x3c], edi
test ecx, ecx
je 0x114a68d
mov eax, esi
xor edx, edx
div ecx
mov eax, dword [edi + 4]
mov esi, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov dword [esp + 0x40], eax
cmp esi, edi
je 0x114a691
mov ecx, dword [esp + 0x64]
cmp ecx, dword [esi + 4]
jne 0x114a67f
mov edx, dword [esp + 0x5c]
cmp edx, dword [esi + 8]
jne 0x114a67f
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0xc]
cmp eax, dword [ecx + 8]
jne 0x114a67f
mov edx, dword [esp + 0x60]
mov ecx, dword [ecx + 0xc]
mov edi, dword [edx + 0xc]
cmp eax, 4
jb 0x114a65b
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x114a67f
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x114a647
test eax, eax
je 0x114a691
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x114a67f
cmp eax, 1
jbe 0x114a691
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x114a67f
cmp eax, 2
jbe 0x114a691
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
je 0x114a691
mov dword [esp + 0x40], esi
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x114a617
jmp 0x114a691
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
cmp dword [edx], ecx
jne 0x114a6db
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0xc]
push eax
lea ecx, [esp + 0xf4]
push ecx
mov ecx, dword [esp + 0x58]
call fcn.00d2d450
mov ecx, dword [esp + 0x18]
push eax
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0xec]
push eax
add ecx, 0x74
call fcn.011471b0
lea ecx, [esp + 0xf0]
call fcn.00d603b0
mov ecx, dword [esp + 0x60]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114a6f5
mov eax, dword [esp + 0x60]
push eax
call fcn.00d45a10
add esp, 4
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov edx, 1
lock xadd dword [eax], edx
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x28]
call fcn.01147070
mov ecx, dword [esp + 0x94]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114a742
mov eax, dword [esp + 0x94]
push eax
call fcn.00d45a10
add esp, 4
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x14]
call fcn.01149ba0
mov ecx, dword [eax]
mov edx, dword [ecx]
mov ecx, eax
cmp edx, 1
je 0x114a7a3
push 1
push 0x7fffffff
call fcn.01145fc0
push 0x20
mov edi, eax
call fcn.01126532
mov esi, eax
add esp, 4
test esi, esi
je 0x114a7e1
mov eax, dword [ebx]
mov dword [esi], eax
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [ebx + 8]
push edx
lea ecx, [esi + 8]
call fcn.00d60f80
mov al, byte [ebx + 0x18]
mov byte [esi + 0x18], al
jmp 0x114a7e3
call fcn.00d68e60
push 0x20
mov edi, eax
call fcn.01126532
mov esi, eax
add esp, 4
test esi, esi
je 0x114a7e1
mov ecx, dword [ebx]
mov dword [esi], ecx
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov edx, 1
lock xadd dword [eax], edx
lea eax, [ebx + 8]
push eax
lea ecx, [esi + 8]
call fcn.00d60f80
mov cl, byte [ebx + 0x18]
mov byte [esi + 0x18], cl
jmp 0x114a7e3
xor esi, esi
mov edx, dword [esp + 0x1c]
mov dword [edi], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
inc edx
sub esi, ecx
mov dword [esp + 0x1c], edx
cmp edx, esi
jl 0x114a592
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0115bae0
mov dword [esp + 0x58], eax
test eax, eax
je 0x114aa53
jmp 0x114a824
mov eax, dword [esp + 0x58]
test eax, eax
je 0x114a82d
mov eax, dword [eax + 4]
jmp 0x114a82f
xor eax, eax
mov esi, dword [eax + 0x70]
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x114a8ef
mov edx, esi
mov eax, 1
lock xadd dword [edx], eax
mov ecx, dword [esp + 0x14]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114a87e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
lea ecx, [esp + 0x1c]
mov edi, eax
call fcn.01145bc0
push edi
call fcn.00d45a10
add esp, 4
mov eax, esi
mov dword [esp + 0x14], eax
test byte [esi + 0x10], 1
jne 0x114a8ef
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
lea esi, [esi + ecx*4 + 0x14]
push eax
lea ecx, [esp + 0x18]
call fcn.00d69390
mov edi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
lea ecx, [eax + edx*4 + 0x14]
mov edx, dword [eax + 8]
push esi
push ecx
lea eax, [eax + edx*4 + 0x14]
push eax
lea ecx, [esp + 0x20]
call fcn.01145cf0
mov ecx, edi
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114a8eb
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 8]
lea ecx, [edi + eax*4 + 0x14]
push ecx
lea eax, [edi + edx*4 + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.01145bc0
push edi
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
mov dword [esp + 0x1c], 0
test edx, edx
jle 0x114aa3e
jmp 0x114a910
add ecx, dword [esp + 0x1c]
mov esi, dword [eax + ecx*4 + 0x14]
lea eax, [eax + ecx*4 + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x84], eax
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x28]
call fcn.01147070
mov edi, eax
mov eax, dword [esp + 0x84]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114a96b
mov edx, dword [esp + 0x84]
push edx
call fcn.00d45a10
add esp, 4
test edi, edi
jle 0x114aa21
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0xa0], eax
call fcn.01149ba0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [eax]
cmp edx, 1
je 0x114a9df
push 1
push 0x7fffffff
call fcn.01145fc0
push 0x20
mov ebx, eax
call fcn.01126532
mov edi, eax
add esp, 4
test edi, edi
je 0x114aa1d
mov eax, dword [esi]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esi + 8]
push edx
lea ecx, [edi + 8]
call fcn.00d60f80
mov al, byte [esi + 0x18]
mov byte [edi + 0x18], al
jmp 0x114aa1f
call fcn.00d68e60
push 0x20
mov ebx, eax
call fcn.01126532
mov edi, eax
add esp, 4
test edi, edi
je 0x114aa1d
mov ecx, dword [esi]
mov dword [edi], ecx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, 1
lock xadd dword [eax], edx
lea eax, [esi + 8]
push eax
lea ecx, [edi + 8]
call fcn.00d60f80
mov cl, byte [esi + 0x18]
mov byte [edi + 0x18], cl
jmp 0x114aa1f
xor edi, edi
mov dword [ebx], edi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
inc edx
sub esi, ecx
mov dword [esp + 0x1c], edx
cmp edx, esi
jl 0x114a910
mov ecx, dword [esp + 0x58]
call fcn.0115bae0
mov dword [esp + 0x58], eax
test eax, eax
jne 0x114a820
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114aa88
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.01145bc0
push esi
call fcn.00d45a10
add esp, 4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, edx
jl 0x114a4c0
mov eax, dword [esp + 0x24]
xor ebx, ebx
cmp dword [eax + 0xc], ebx
je 0x114ab88
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [eax + 8]
je 0x114aaca
mov edx, dword [eax + ecx*4 + 0x10]
mov dword [esp + 0x50], edx
jmp 0x114aace
mov dword [esp + 0x50], ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.01146dd0
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.01149ba0
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [eax + 8]
je 0x114ab53
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 8]
jne 0x114ab11
push edi
mov ecx, esi
call fcn.01146860
jmp 0x114ab53
mov eax, dword [eax]
cmp eax, 1
je 0x114ab2f
mov ecx, dword [edi]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
mov ecx, esi
push eax
push 0x7fffffff
call fcn.01145fc0
jmp 0x114ab37
push edi
mov ecx, esi
call 0xd68e70
mov edi, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [esi]
lea edx, [edi + edx*4 + 0x14]
push edx
mov edx, dword [ecx + 0xc]
lea ecx, [ecx + edx*4 + 0x14]
push ecx
push eax
mov ecx, esi
call fcn.01145cf0
mov edx, dword [esp + 0x4c]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114ab88
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.01145bc0
push esi
call fcn.00d45a10
add esp, 4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x18]
test ecx, ecx
jle 0x114ae9f
jmp 0x114abb0
mov edx, dword [eax + 8]
add edx, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
mov eax, dword [eax + edx*4 + 0x14]
push ecx
lea edx, [esp + 0x70]
push edx
lea ecx, [ebx + 0xb4]
mov dword [esp + 0xac], eax
call fcn.011492e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
mov dword [esp + 0x4c], 0
test ecx, ecx
jle 0x114ae6d
mov edx, dword [eax + 8]
add edx, dword [esp + 0x4c]
push 0x12cf0c8
mov esi, dword [eax + edx*4 + 0x14]
mov eax, dword [esp + 0x78]
push eax
push 0x12d517c
push esi
mov dword [esp + 0x64], esi
call fcn.00d30db0
add esp, 0x10
lea ecx, [esp + 0x54]
push ecx
lea ecx, [ebx + 0xbc]
call 0xef3250
mov ecx, esi
mov edi, esi
call fcn.00d9e270
test eax, eax
je 0x114ac4d
jmp 0x114ac40
mov ecx, eax
mov edi, eax
call fcn.00d9e270
test eax, eax
jne 0x114ac40
mov ecx, edi
call fcn.01154270
mov ecx, dword [ebx + 0xc0]
mov edi, dword [ecx + 0x18]
lea edx, [ebx + 0xc0]
test edi, edi
je 0x114ac92
xor edx, edx
mov eax, esi
div edi
mov eax, dword [ecx + 4]
lea edx, [eax + edx*4]
mov eax, dword [edx]
cmp eax, ecx
je 0x114ac92
lea esp, [esp]
cmp esi, dword [eax + 4]
jne 0x114ac8a
cmp esi, dword [eax + 8]
je 0x114ac92
mov edx, eax
mov eax, dword [edx]
cmp eax, ecx
jne 0x114ac80
cmp dword [edx], ecx
je 0x114ace2
lea ecx, [esp + 0xd0]
push ecx
push esi
mov ecx, 0x12cf5c4
mov dword [esp + 0xe0], 0x80000000
mov dword [esp + 0xd8], 0
call fcn.00d47a70
mov ecx, eax
call fcn.01153de0
lea ecx, [esp + 0xd0]
call fcn.00d603b0
lea edx, [esp + 0x54]
push edx
lea ecx, [ebx + 0xc0]
call fcn.010f7640
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0xac]
push ecx
lea ecx, [ebx + 0xb8]
call fcn.01147270
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 4]
mov byte [esp + 0x23], 0
test eax, eax
je 0x114ad20
lea ecx, [ecx]
dec eax
cmp dword [ecx], edx
jne 0x114add5
add ecx, 4
test eax, eax
jne 0x114ad10
mov ecx, edx
mov eax, ecx
mov dword [esp + 0x54], eax
cmp ecx, edx
je 0x114ae07
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
sub edi, edx
mov dword [esp + 0x50], 0
test edi, edi
jle 0x114ade9
mov eax, dword [esp + 0xac]
lea edx, [ecx + edx*4 + 0x14]
mov dword [esp + 0x3c], edx
lea ebx, [ebx]
mov ecx, dword [edx]
mov edx, dword [ecx]
cmp edx, dword [esp + 0xa8]
jne 0x114adbb
mov esi, dword [ecx + 4]
mov ecx, dword [esi + 8]
cmp ecx, dword [eax + 8]
jne 0x114adbb
mov edx, dword [eax + 0xc]
mov esi, dword [esi + 0xc]
cmp ecx, 4
jb 0x114ad97
mov ebx, dword [esi]
cmp ebx, dword [edx]
jne 0x114adbb
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x114ad83
test ecx, ecx
je 0x114addc
mov bl, byte [edx]
cmp bl, byte [esi]
jne 0x114adbb
cmp ecx, 1
jbe 0x114addc
mov bl, byte [edx + 1]
cmp bl, byte [esi + 1]
jne 0x114adbb
cmp ecx, 2
jbe 0x114addc
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
je 0x114addc
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x3c]
inc ecx
add edx, 4
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], edx
cmp ecx, edi
jl 0x114ad60
jmp 0x114ade1
mov ecx, dword [ecx]
jmp 0x114ad22
mov byte [esp + 0x23], 1
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
push eax
call fcn.00d4b3d0
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, dword [esp + 0x10]
jne 0x114ad30
cmp byte [esp + 0x23], 0
jne 0x114ae26
mov edx, dword [esp + 0xac]
mov eax, dword [edx + 0xc]
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xac]
push eax
call fcn.00d2f570
lea ecx, [esp + 0xb0]
call fcn.00d603b0
mov edx, dword [esp + 0xac]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114ae52
mov ecx, dword [esp + 0xac]
push ecx
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc ecx
mov dword [esp + 0x4c], ecx
cmp ecx, edx
jl 0x114abf4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114ae83
mov edx, dword [esp + 0x6c]
push edx
call fcn.00d45a10
add esp, 4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, edx
jl 0x114abb0
mov dword [esp + 0x38], 0x130c268
mov eax, 0x130c268
mov ecx, 1
lock xadd dword [eax], ecx
cmp byte [ebx + 0xb0], 0
je 0x114b00b
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
xor ebx, ebx
test ecx, ecx
jle 0x114aff7
mov edx, dword [eax + 8]
add edx, ebx
mov esi, dword [eax + edx*4 + 0x14]
lea eax, [esp + 0x7c]
push eax
mov ecx, esi
call fcn.0115c870
push eax
lea ecx, [esp + 0x3c]
call fcn.01146a50
mov ecx, dword [esp + 0x7c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114af10
mov eax, dword [esp + 0x7c]
push eax
call fcn.00d45a10
add esp, 4
mov ecx, esi
call fcn.0115c4b0
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x74]
push edx
add ecx, 0xc8
mov dword [esp + 0xa8], eax
call fcn.01146b20
push eax
lea ecx, [esp + 0x3c]
call fcn.01146a50
mov eax, dword [esp + 0x70]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114af5e
mov edx, dword [esp + 0x70]
push edx
call fcn.00d45a10
add esp, 4
lea eax, [esp + 0x68]
push eax
mov ecx, esi
call fcn.0115c7e0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
xor esi, esi
test ecx, ecx
jle 0x114afcd
mov edi, dword [esp + 0x18]
mov edi, edi
mov edx, dword [eax + 8]
add edx, esi
lea eax, [eax + edx*4 + 0x14]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [edi + 0xcc]
call fcn.01146b20
push eax
lea ecx, [esp + 0x3c]
call fcn.01146a50
mov edx, dword [esp + 0x78]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114afbe
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc esi
cmp esi, edx
jl 0x114af80
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114afe3
mov edx, dword [esp + 0x68]
push edx
call fcn.00d45a10
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
inc ebx
cmp ebx, ecx
jl 0x114aed7
mov edx, dword [esp + 0x18]
add edx, 0xc4
push edx
lea ecx, [esp + 0x3c]
call fcn.01146a50
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0xc]
sub ecx, dword [edx + 8]
xor eax, eax
mov dword [esp + 0x58], eax
test ecx, ecx
jle 0x114b712
mov ecx, dword [edx + 8]
add ecx, eax
mov edi, dword [edx + ecx*4 + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], edi
cmp eax, 1
je 0x114b07b
mov ecx, dword [esp + 0x10]
push 4
push 0x10
push 0x1146ca0
push 0x11476d0
call fcn.00d4b690
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, 8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b073
mov ecx, dword [esp + 0x10]
push 0x1146ca0
call fcn.00d4b360
mov edx, esi
mov dword [esp + 0x10], edx
jmp 0x114b07f
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 4]
test eax, eax
je 0x114b0a0
lea esp, [esp]
dec eax
cmp dword [ecx], edx
jne 0x114b452
add ecx, 4
test eax, eax
jne 0x114b090
mov ecx, edx
mov esi, ecx
mov edx, dword [edx + 8]
mov dword [esp + 0x28], esi
cmp edx, 1
je 0x114b0eb
mov ecx, dword [esp + 0x10]
push 4
push 0x10
push 0x1146ca0
push 0x11476d0
call fcn.00d4b690
mov ebx, eax
mov eax, dword [esp + 0x10]
add eax, 8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b0e7
mov ecx, dword [esp + 0x10]
push 0x1146ca0
call fcn.00d4b360
mov dword [esp + 0x10], ebx
cmp esi, dword [esp + 0x10]
je 0x114b5d2
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [esi + 8]
lea edi, [esi + 0xc]
mov dword [esp + 0x64], edx
cmp eax, 1
je 0x114b164
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
mov ecx, edi
lea ebx, [eax + edx*4 + 0x14]
call fcn.00d69390
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push ebx
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
mov ecx, edi
call fcn.01145cf0
mov eax, esi
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b164
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
lea eax, [esi + edx*4 + 0x14]
lea edx, [esi + ecx*4 + 0x14]
push eax
push edx
mov ecx, edi
call fcn.01145bc0
push esi
call fcn.00d45a10
add esp, 4
mov edi, dword [edi]
mov eax, dword [edi + 8]
lea ecx, [edi + eax*4 + 0x14]
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edx, dword [eax]
add ebx, 0xc
cmp edx, 1
je 0x114b1dd
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
mov ecx, ebx
lea edi, [eax + edx*4 + 0x14]
call fcn.00d69390
mov esi, eax
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push edi
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
mov ecx, ebx
call fcn.01145cf0
mov eax, esi
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b1dd
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
lea eax, [esi + edx*4 + 0x14]
lea edx, [esi + ecx*4 + 0x14]
push eax
push edx
mov ecx, ebx
call fcn.01145bc0
push esi
call fcn.00d45a10
add esp, 4
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
cmp dword [esp + 0x1c], edx
je 0x114b587
mov eax, 0x130c268
mov dword [esp + 0x30], eax
mov ecx, eax
mov edx, 1
lock xadd dword [ecx], edx
mov dword [esp + 0x34], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x90]
push edx
call fcn.01148420
mov edi, eax
mov esi, dword [edi]
cmp dword [esp + 0x30], esi
je 0x114b2c3
mov eax, esi
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [esp + 0x30]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114b261
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00d45a10
add esp, 4
mov dword [esp + 0x30], esi
test byte [esi + 0x10], 1
jne 0x114b2c3
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
push eax
lea ecx, [esp + 0x34]
lea esi, [esi + edx*4 + 0x14]
call fcn.00d69390
mov ebx, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
lea ecx, [eax + ecx*4 + 0x14]
lea eax, [eax + edx*4 + 0x14]
cmp esi, eax
je 0x114b2af
sub ecx, eax
sar ecx, 2
test ecx, ecx
jle 0x114b2af
add ecx, ecx
add ecx, ecx
push ecx
push esi
push eax
call fcn.011265c0
add esp, 0xc
mov edx, ebx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114b2c3
push ebx
call fcn.00d45a10
add esp, 4
mov esi, dword [edi + 4]
cmp dword [esp + 0x34], esi
je 0x114b357
mov ecx, esi
mov edx, 1
lock xadd dword [ecx], edx
mov eax, dword [esp + 0x34]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b2f5
mov edx, dword [esp + 0x34]
push edx
call fcn.00d45a10
add esp, 4
mov dword [esp + 0x34], esi
test byte [esi + 0x10], 1
jne 0x114b357
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
lea esi, [esi + ecx*4 + 0x14]
push eax
lea ecx, [esp + 0x38]
call fcn.00d69390
mov ebx, eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0xc]
lea ecx, [eax + edx*4 + 0x14]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x14]
cmp esi, eax
je 0x114b343
sub ecx, eax
sar ecx, 2
test ecx, ecx
jle 0x114b343
add ecx, ecx
add ecx, ecx
push ecx
push esi
push eax
call fcn.011265c0
add esp, 0xc
mov edx, ebx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114b357
push ebx
call fcn.00d45a10
add esp, 4
mov ecx, dword [esp + 0x8c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114b377
mov eax, dword [esp + 0x8c]
push eax
call fcn.00d45a10
add esp, 4
mov ecx, dword [esp + 0x88]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114b397
mov eax, dword [esp + 0x88]
push eax
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov ecx, dword [esp + 0x48]
test byte [ecx + 0x10], 1
jne 0x114b3c3
mov edx, dword [ecx + 4]
push edx
lea ecx, [esp + 0x4c]
call fcn.00e7f770
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
cmp edx, eax
je 0x114b4e0
sub edx, eax
xor esi, esi
test edx, edx
jle 0x114b496
mov ebx, dword [esp + 0x18]
add eax, esi
mov eax, dword [ecx + eax*4 + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [esp + 0x40], eax
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [ebx + 0xb8]
call fcn.01147470
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [ebx + 0xbc]
call 0xd95b40
lea edx, [esp + 0x64]
mov ecx, ebx
push edx
add ecx, 0xb4
call fcn.011494e0
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax]
cmp eax, 1
je 0x114b459
push 1
push 0x7fffffff
call fcn.00ef2cb0
jmp 0x114b45e
mov ecx, dword [ecx]
jmp 0x114b0a2
call fcn.00d68e60
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
push 0x80
push 0x12cf0c8
push edx
push 0x12d517c
push ecx
mov dword [eax], ecx
call fcn.00d31310
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
inc esi
sub edx, eax
add esp, 0x14
cmp esi, edx
jl 0x114b3e1
mov edi, dword [esp + 0x1c]
mov esi, dword [edi]
test esi, esi
je 0x114b4c9
lea ecx, [esi + 8]
call fcn.00d603b0
mov eax, dword [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b4c0
mov edx, dword [esi + 4]
push edx
call fcn.00d45a10
add esp, 4
push esi
call fcn.011264d6
add esp, 4
mov ecx, dword [esp + 0x28]
push edi
add ecx, 0xc
call fcn.00d692c0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
jmp 0x114b4e5
add dword [esp + 0x1c], 4
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 8]
mov edi, dword [eax + 0xc]
sub edi, edx
xor esi, esi
test edi, edi
jle 0x114b534
mov edi, dword [esp + 0x18]
jmp 0x114b500
lea ecx, [esp + 0x23]
push ecx
add edx, esi
lea eax, [eax + edx*4 + 0x14]
push eax
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [edi + 0xc0]
call fcn.010777e0
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
inc esi
sub ecx, edx
cmp esi, ecx
jl 0x114b500
mov ecx, dword [esp + 0x48]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114b54a
mov eax, dword [esp + 0x48]
push eax
call fcn.00d45a10
add esp, 4
mov ecx, dword [esp + 0x34]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114b564
mov eax, dword [esp + 0x34]
push eax
call fcn.00d45a10
add esp, 4
mov ecx, dword [esp + 0x30]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x114b171
mov eax, dword [esp + 0x30]
push eax
call fcn.00d45a10
add esp, 4
jmp 0x114b171
mov ebx, eax
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebx + 8]
jne 0x114b5b6
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x18]
call fcn.01148810
mov esi, dword [eax]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
jmp 0x114b0a4
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00d4b3d0
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
add esp, 4
mov esi, eax
jmp 0x114b0a4
mov dword [esp + 0x3c], 0x130c074
mov edx, 0x130c074
mov eax, 1
lock xadd dword [edx], eax
mov dword [esp + 0x44], 0x130c268
mov ecx, 0x130c268
mov edx, 1
lock xadd dword [ecx], edx
lea eax, [esp + 0x44]
push eax
push 0x12cf5c4
push 0
lea ecx, [esp + 0x48]
push ecx
push edi
call 0xd2e940
mov edx, dword [esp + 0x50]
add esp, 0x14
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114b632
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00d33020
add esp, 4
push edi
mov ecx, 0x12cf5c4
call fcn.00d47a70
mov esi, eax
test esi, esi
je 0x114b667
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
lea ecx, [esp + 0x44]
cmp eax, 1
je 0x114b660
push 1
push 0x7fffffff
call fcn.00ef2cb0
jmp 0x114b665
call fcn.00d68e60
mov dword [eax], esi
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
xor esi, esi
test ecx, ecx
jle 0x114b6e1
jmp 0x114b680
mov ecx, dword [eax + 8]
lea edx, [esp + 0x100]
add ecx, esi
mov ecx, dword [eax + ecx*4 + 0x14]
push edx
call fcn.01153330
test dword [eax + 8], 0x3fffffff
lea ecx, [esp + 0x100]
setne bl
call fcn.00d603b0
test bl, bl
jne 0x114b6c1
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc esi
cmp esi, edx
jl 0x114b680
jmp 0x114b6e1
mov ecx, edi
call fcn.010405a0
cmp eax, 2
jne 0x114b6d4
mov ecx, edi
call fcn.01154270
push 0
mov ecx, edi
call fcn.011550a0
mov eax, dword [esp + 0x44]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b6f7
mov edx, dword [esp + 0x44]
push edx
call fcn.00d45a10
add esp, 4
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + 0xc]
sub ecx, dword [edx + 8]
inc eax
mov dword [esp + 0x58], eax
cmp eax, ecx
jl 0x114b023
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
test eax, eax
je 0x114b730
dec eax
cmp dword [ecx], esi
jne 0x114b87f
add ecx, 4
test eax, eax
jne 0x114b720
mov ecx, esi
mov edi, ecx
cmp ecx, esi
je 0x114b78e
jmp 0x114b740
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
xor esi, esi
test edx, edx
jle 0x114b779
add ecx, esi
mov eax, dword [eax + ecx*4 + 0x14]
mov edx, dword [eax + 4]
lea ecx, [eax + 8]
push ecx
mov ecx, dword [edx + 0xc]
push ecx
mov ecx, dword [eax]
call fcn.00d2f570
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
inc esi
sub edx, ecx
cmp esi, edx
jl 0x114b751
push edi
call fcn.00d4b3d0
mov edi, eax
add esp, 4
cmp edi, dword [esp + 0x10]
jne 0x114b740
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
sub esi, ecx
xor ebx, ebx
test esi, esi
jle 0x114b824
add ecx, ebx
mov esi, dword [eax + ecx*4 + 0x14]
test esi, esi
je 0x114b80e
push esi
call fcn.0115baa0
mov ecx, dword [eax + 0x4c]
and ecx, 0x7fffffff
add esp, 4
cmp ecx, 1
jne 0x114b80e
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xb4]
mov edi, dword [ecx + 0x18]
add edx, 0xb4
test edi, edi
je 0x114b802
xor edx, edx
mov eax, esi
div edi
mov eax, dword [ecx + 4]
lea edx, [eax + edx*4]
mov eax, dword [edx]
cmp eax, ecx
je 0x114b802
nop
cmp esi, dword [eax + 4]
jne 0x114b7fa
cmp esi, dword [eax + 8]
je 0x114b802
mov edx, eax
mov eax, dword [edx]
cmp eax, ecx
jne 0x114b7f0
cmp dword [edx], ecx
jne 0x114b80e
mov ecx, dword [esi + 4]
call fcn.0115bb40
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
inc ebx
sub edx, ecx
cmp ebx, edx
jl 0x114b7a5
mov edx, dword [esp + 0x38]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x114b83a
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00d45a10
add esp, 4
mov eax, dword [esp + 0x24]
add eax, 8
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x114b858
mov ecx, dword [esp + 0x24]
push 0x1146140
call fcn.00d4b360
mov eax, dword [esp + 0x10]
add eax, 8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x114b876
mov ecx, dword [esp + 0x10]
push 0x1146ca0
call fcn.00d4b360
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ecx]
jmp 0x114b732