Function at 0x101af910
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xe0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x8040]
push ebx
xor eax, eax
test byte [edx + 0x7fcc], 0x80
push esi
push edi
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x24], ecx
jne 0x101afab8
mov ecx, dword [edx + 0x10]
cmp ecx, eax
jbe 0x101af953
mov esi, dword [edx + 0x14]
mov edi, dword [esi]
jmp 0x101af955
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], eax
cmp ecx, eax
jbe 0x101afab8
cmp dword [edi + 0x3c], 0x50000002
jne 0x101afa93
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x20500002
lea eax, [ebp - 0x48]
push eax
push edx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x20400001
lea ecx, [ebp - 0x10]
push ecx
push edx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov eax, dword [edi + 0x34]
mov ebx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x10]
mov dword [ebx + 0x34], eax
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x38], ecx
mov eax, dword [edi + 0x34]
mov dword [edx + 0x34], eax
mov ecx, dword [edi + 0x38]
mov dword [edx + 0x38], ecx
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, dword [ebx + 4]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov edi, dword [edi + 0xc]
mov ecx, dword [edx + 0xc]
mov edx, dword [edi]
mov dword [ecx], edx
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
push 0x11
push eax
lea edi, [eax*4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x8040]
push ecx
mov ecx, dword [ebx + 0xc]
push edx
add ecx, edi
push ecx
push eax
call fcn.10169c20
mov esi, eax
test esi, esi
jl 0x101b1656
mov edx, dword [ebx + 0xc]
mov edx, dword [edi + edx]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x38]
mov dword [edi + ecx], edx
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax + 0x68]
mov edi, dword [edi + edx]
mov dword [edi + 0x68], ecx
mov dl, byte [eax + 0x6c]
mov eax, dword [ebp - 0xc]
inc eax
mov byte [edi + 0x6c], dl
mov dword [ebp - 0xc], eax
cmp eax, 2
jb 0x101af9f8
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
push 1
push ecx
lea edx, [ebp - 0x30]
push edx
push 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], eax
call fcn.1016a230
mov esi, eax
test esi, esi
jl 0x101b1656
mov eax, dword [ebp - 0x24]
inc dword [eax + 0x10]
mov eax, dword [ebp - 0x34]
mov edx, edi
mov ecx, dword [edx + 0x10]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, ecx
jb 0x101afaa7
mov eax, ecx
xor edi, edi
mov dword [ebp - 0x34], eax
jmp 0x101afaad
mov esi, dword [edx + 0x14]
mov edi, dword [esi + eax*4]
mov dword [ebp - 0x38], edi
cmp eax, ecx
jb 0x101af963
test byte [edx + 0x7fcc], 1
je 0x101afe92
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x44], eax
test eax, eax
jbe 0x101afad9
mov eax, dword [ecx + 0x14]
mov ebx, dword [eax]
jmp 0x101afadb
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x44], ecx
jbe 0x101afe92
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x10]
jae 0x101afe92
test dword [ebx + 0x3c], 0xf0000000
je 0x101afe66
mov esi, dword [ebx + 8]
test esi, esi
je 0x101afe66
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x20
xor ecx, ecx
or eax, ecx
je 0x101afe66
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
jbe 0x101afb42
mov edx, dword [ebx + 4]
mov edi, dword [edx]
cmp eax, dword [edi + 0x64]
jne 0x101afb42
inc eax
add edx, 4
cmp eax, ecx
jb 0x101afb33
cmp eax, ecx
je 0x101afe66
mov eax, 1
cmp ecx, eax
jbe 0x101afb72
mov edx, dword [ebx + 4]
mov esi, dword [edx]
mov esi, dword [esi + 0x64]
add edx, 4
mov edi, edi
mov edi, dword [edx]
cmp esi, dword [edi + 0x64]
jne 0x101afb6f
inc eax
add edx, 4
cmp eax, ecx
jb 0x101afb60
mov esi, dword [ebx + 8]
cmp eax, ecx
je 0x101afe66
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
and esi, 0xfffff
or esi, 0x10000000
push esi
lea edx, [ebp - 0xc]
push edx
push eax
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebx + 0x34]
mov edi, dword [ebp - 0xc]
mov dword [edi + 0x34], ecx
mov edx, dword [ebx + 0x38]
mov dword [edi + 0x38], edx
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov cl, byte [eax + 0x6c]
mov edx, dword [eax + 0x68]
xor esi, esi
mov byte [ebp - 0x25], cl
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x20], esi
cmp dword [ebx + 8], esi
jbe 0x101afe60
mov ecx, dword [ebx + 0xc]
mov edx, dword [edi + 0xc]
lea eax, [esi*4]
mov ecx, dword [eax + ecx]
mov dword [eax + edx], ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x48], ecx
mov ecx, dword [edx + 0x8040]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebx + 0xc]
add ecx, eax
mov eax, dword [0x101e316c]
mov dword [ebp - 0x1c], ecx
test eax, eax
jge 0x101afc0d
xor eax, eax
jmp 0x101afc14
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0xc], 0
je 0x101afc3b
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x101afc25
mov esi, ecx
jmp 0x101afc4c
mov edx, dword [ecx]
mov dword [eax + 0xc], edx
test edx, edx
jne 0x101afc31
mov dword [eax + 0x10], edx
mov dword [ecx], 0xfefefefe
mov esi, ecx
jmp 0x101afc4c
mov ecx, dword [eax + 8]
push 0x10
push pe_nt_image_headers32
call fcn.101d8457
mov esi, eax
xor eax, eax
cmp esi, eax
je 0x101afcad
mov edx, dword [ebp - 0x20]
or ecx, 0xffffffff
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], eax
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x48]
push edx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x40]
push eax
push ecx
mov eax, esi
call fcn.10165570
mov dword [ebp - 0x10], eax
test eax, eax
jl 0x101afcb7
mov edi, dword [ebp + 8]
push 0
mov ebx, esi
call fcn.10169830
mov dword [ebp - 0x10], eax
test eax, eax
jl 0x101afcb7
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0
mov dword [edx], esi
jmp 0x101afdde
mov esi, 0x8007000e
jmp 0x101afde9
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x101afce9
cmp ecx, 0xffffffff
je 0x101afce9
mov eax, dword [esi + 4]
test eax, eax
je 0x101afcd0
mov edx, dword [esi]
mov dword [eax], edx
jmp 0x101afcd5
mov eax, dword [esi]
mov dword [ecx + 0x24], eax
mov eax, dword [esi]
test eax, eax
je 0x101afce3
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
jmp 0x101afce9
mov edx, dword [esi + 4]
mov dword [ecx + 0x28], edx
mov edi, dword [esi + 0x94]
test edi, edi
je 0x101afd40
cmp byte [edi + 0xc], 0
mov dword [edi + 8], 0
je 0x101afd2a
mov ebx, dword [edi]
test ebx, ebx
je 0x101afd26
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101afd13
xor eax, eax
jmp 0x101afd1a
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax]
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esi + 0x98]
xor eax, eax
mov dword [esi + 0x94], eax
cmp edi, eax
je 0x101afd9a
mov dword [edi + 8], eax
cmp byte [edi + 0xc], al
je 0x101afd84
mov ebx, dword [edi]
test ebx, ebx
je 0x101afd80
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101afd6d
xor eax, eax
jmp 0x101afd74
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [eax]
push ebx
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
xor edi, edi
mov dword [esi + 0x98], edi
mov eax, dword [0x101e316c]
cmp eax, edi
jl 0x101afdb4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
push pe_nt_image_headers32
push 0xfe
push esi
call sub.msvcrt.dll_memset
mov dword [esi], 0
mov eax, dword [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x101afdd8
mov dword [eax], esi
jmp 0x101afddb
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0xc]
xor eax, eax
cmp esi, eax
jl 0x101b1656
mov edx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x20]
mov ecx, dword [edx + esi*4]
mov eax, dword [edi + 4]
mov dword [eax + esi*4], ecx
mov edx, dword [edi + 4]
mov eax, dword [edx + esi*4]
mov cl, byte [ebp - 0x25]
mov byte [eax + 0x6c], cl
mov edx, dword [edi + 4]
mov eax, dword [edx + esi*4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x68], ecx
mov edx, dword [edi + 0xc]
mov eax, dword [edx + esi*4]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x40]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x40], edx
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
mov ecx, dword [ecx + esi*4]
mov eax, dword [edx + esi*4]
call fcn.10166070
mov eax, dword [edi + 0xc]
mov eax, dword [eax + esi*4]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + esi*4]
mov edx, dword [eax + 0x4c]
inc esi
mov dword [ecx + 0x4c], edx
mov dword [ebp - 0x20], esi
cmp esi, dword [ebx + 8]
jb 0x101afbd0
mov eax, dword [ebp - 0x24]
inc dword [eax + 0x10]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, eax
jb 0x101afe80
mov ecx, eax
xor ebx, ebx
mov dword [ebp - 0x34], ecx
jmp 0x101afe86
mov eax, dword [edx + 0x14]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0x38], ebx
cmp ecx, dword [ebp - 0x44]
jb 0x101afaec
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x7f7c], 0
je 0x101b0445
test byte [ecx + 0x7fd1], 2
jne 0x101b002c
push ecx
call fcn.10175ad0
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
test eax, eax
jbe 0x101afed0
mov edx, dword [ecx + 0x14]
mov edx, dword [edx]
jmp 0x101afed2
xor edx, edx
xor esi, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], esi
test eax, eax
jbe 0x101b002c
mov ecx, dword [edx + 0x3c]
mov eax, ecx
shr eax, 0x1c
cmp eax, 6
je 0x101aff03
cmp eax, 0xa
je 0x101aff03
mov eax, ecx
call fcn.101709e0
test al, al
je 0x101b0004
mov eax, ecx
call fcn.101709e0
xor ecx, ecx
test al, al
setne cl
inc ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [edx + 0x3c]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0xb0000000
jne 0x101aff2d
mov ecx, 1
jmp 0x101aff4c
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x68700000
je 0x101aff42
cmp eax, 0x68800000
jne 0x101aff46
mov ecx, dword [edx]
jmp 0x101aff4c
and ecx, 0xfffff
mov eax, dword [ebp - 0xc]
imul eax, ecx
lea edi, [eax + ecx]
cmp edi, dword [edx]
ja 0x101b0004
mov edx, dword [edx + 4]
lea edi, [edx + eax*4]
test ecx, ecx
je 0x101b0004
xor edx, edx
test ecx, ecx
jbe 0x101aff86
mov eax, dword [edi + edx*4]
or dword [eax + 0x40], 0x80
mov esi, dword [eax + 0x44]
inc edx
mov dword [eax + 0x44], esi
cmp edx, ecx
jb 0x101aff71
xor eax, eax
test ecx, ecx
jbe 0x101aff9d
lea esp, [esp]
mov edx, dword [edi + eax*4]
cmp dword [edx + 0x64], eax
jne 0x101aff9d
inc eax
cmp eax, ecx
jb 0x101aff90
cmp eax, ecx
je 0x101afff6
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
add edx, 0x10
push edx
push ecx
mov ecx, dword [ebp - 0x30]
push edi
push ecx
push eax
call fcn.101af420
mov esi, eax
test esi, esi
jl 0x101b1656
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
cmp ebx, eax
jae 0x101afff6
mov ecx, dword [ebp - 0x2c]
mov edx, eax
sub edx, ebx
inc ecx
cmp ecx, eax
jb 0x101affe5
mov dword [ebp - 0x30], 0
mov ecx, eax
jmp 0x101affee
mov edi, dword [esi + 0x14]
mov edi, dword [edi + ecx*4]
mov dword [ebp - 0x30], edi
sub edx, 1
jne 0x101affd5
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
jmp 0x101aff15
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, eax
jb 0x101b001b
mov esi, eax
xor edx, edx
mov dword [ebp - 0x2c], esi
jmp 0x101b0021
mov edx, dword [ecx + 0x14]
mov edx, dword [edx + esi*4]
mov dword [ebp - 0x30], edx
cmp esi, eax
jb 0x101afee2
cmp dword [ecx + 0x7f7c], 0
je 0x101b0445
mov edx, dword [ecx + 0x10]
test edx, edx
jbe 0x101b0047
mov eax, dword [ecx + 0x14]
mov ebx, dword [eax]
jmp 0x101b0049
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], eax
test edx, edx
jbe 0x101b0445
mov edx, dword [ebx + 0x3c]
and edx, 0xfff00000
cmp edx, 0x50700000
jne 0x101b0420
cmp dword [ebx], 8
mov esi, dword [ebx + 4]
mov eax, dword [esi]
mov eax, dword [eax + 0x50]
jne 0x101b00e3
mov eax, dword [eax + 8]
and eax, 0x200
xor edx, edx
or eax, edx
jne 0x101b00e3
mov eax, esi
lea esi, [edx + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x64]
mov edi, 1
shl edi, cl
add eax, 4
or edx, edi
sub esi, 1
jne 0x101b0092
cmp edx, 0xf
jne 0x101b00e0
mov ecx, dword [ebx + 4]
lea edx, [esi + 4]
mov eax, dword [ecx]
mov esi, dword [eax + 0x64]
add ecx, 4
sub edx, 1
mov dword [ebp + esi*4 - 0x74], eax
jne 0x101b00b3
xor eax, eax
mov ecx, dword [ebp + eax - 0x74]
mov edx, dword [ebx + 4]
mov dword [eax + edx], ecx
add eax, 4
cmp eax, 0x10
jb 0x101b00c6
mov ecx, dword [ebp + 8]
jmp 0x101b041d
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x10000004
lea edx, [ebp - 0xc]
push edx
push ecx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x50700004
lea eax, [ebp - 0x14]
push eax
push ecx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov edx, dword [ebx + 0x34]
mov edi, dword [ebp - 0xc]
mov dword [edi + 0x34], edx
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x38], eax
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x34], ecx
mov edx, dword [ebx + 0x38]
mov dword [eax + 0x38], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [ecx]
mov dword [edx], eax
mov dword [ebp - 0x20], 0
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x20]
shr ecx, 1
cmp eax, ecx
jae 0x101b015e
mov ecx, eax
jmp 0x101b015f
dec ecx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov esi, dword [edi + 4]
mov edx, dword [ebp - 0x24]
add eax, eax
add eax, eax
mov dword [eax + esi], ecx
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x48], ecx
mov ecx, dword [edx + 0x8040]
mov dword [ebp - 0x40], ecx
mov ecx, dword [edi + 0xc]
add ecx, eax
mov eax, dword [0x101e316c]
mov dword [ebp - 0x1c], ecx
test eax, eax
jge 0x101b0199
xor eax, eax
jmp 0x101b01a0
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0xc], 0
je 0x101b01c7
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x101b01b1
mov esi, ecx
jmp 0x101b01d8
mov edx, dword [ecx]
mov dword [eax + 0xc], edx
test edx, edx
jne 0x101b01bd
mov dword [eax + 0x10], edx
mov dword [ecx], 0xfefefefe
mov esi, ecx
jmp 0x101b01d8
mov ecx, dword [eax + 8]
push 0x10
push pe_nt_image_headers32
call fcn.101d8457
mov esi, eax
xor eax, eax
cmp esi, eax
je 0x101b0239
mov edx, dword [ebp - 0x20]
or ecx, 0xffffffff
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], eax
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x48]
push edx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x40]
push eax
push ecx
mov eax, esi
call fcn.10165570
mov dword [ebp - 0x10], eax
test eax, eax
jl 0x101b0243
mov edi, dword [ebp + 8]
push 0
mov ebx, esi
call fcn.10169830
mov dword [ebp - 0x10], eax
test eax, eax
jl 0x101b0243
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0
mov dword [edx], esi
jmp 0x101b036a
mov esi, 0x8007000e
jmp 0x101b0375
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x101b0275
cmp ecx, 0xffffffff
je 0x101b0275
mov eax, dword [esi + 4]
test eax, eax
je 0x101b025c
mov edx, dword [esi]
mov dword [eax], edx
jmp 0x101b0261
mov eax, dword [esi]
mov dword [ecx + 0x24], eax
mov eax, dword [esi]
test eax, eax
je 0x101b026f
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
jmp 0x101b0275
mov edx, dword [esi + 4]
mov dword [ecx + 0x28], edx
mov edi, dword [esi + 0x94]
test edi, edi
je 0x101b02cc
cmp byte [edi + 0xc], 0
mov dword [edi + 8], 0
je 0x101b02b6
mov ebx, dword [edi]
test ebx, ebx
je 0x101b02b2
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101b029f
xor eax, eax
jmp 0x101b02a6
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax]
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esi + 0x98]
xor eax, eax
mov dword [esi + 0x94], eax
cmp edi, eax
je 0x101b0326
mov dword [edi + 8], eax
cmp byte [edi + 0xc], al
je 0x101b0310
mov ebx, dword [edi]
test ebx, ebx
je 0x101b030c
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101b02f9
xor eax, eax
jmp 0x101b0300
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [eax]
push ebx
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
xor edi, edi
mov dword [esi + 0x98], edi
mov eax, dword [0x101e316c]
cmp eax, edi
jl 0x101b0340
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
push pe_nt_image_headers32
push 0xfe
push esi
call sub.msvcrt.dll_memset
mov dword [esi], 0
mov eax, dword [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x101b0364
mov dword [eax], esi
jmp 0x101b0367
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0xc]
xor eax, eax
cmp esi, eax
jl 0x101b1656
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
mov edx, dword [eax + 0x68]
mov esi, dword [ebp - 0x20]
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x68], edx
mov al, byte [eax + 0x6c]
mov byte [ecx + 0x6c], al
mov ecx, dword [edi + 4]
mov eax, dword [ecx + esi*4]
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + esi*4]
mov eax, dword [eax + 0x4c]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], eax
mov eax, dword [edx + 4]
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + esi*4]
mov dword [eax + esi*4], ecx
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
and edx, 0xfffff
mov edx, dword [eax + edx*4]
mov dword [ecx + esi*4 + 0x10], edx
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 4
jb 0x101b014f
mov eax, dword [ebp - 0x14]
push 1
push ebx
lea ecx, [ebp - 0x38]
push ecx
mov dword [ebp - 0x38], edi
mov edi, dword [ebp + 8]
push 2
mov dword [ebp - 0x34], eax
call fcn.1016a230
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp - 0x2c]
mov edx, edi
mov eax, dword [edx + 0x10]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, eax
jb 0x101b0415
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
inc dword [eax + 0x10]
mov ecx, edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, edx
jb 0x101b0434
mov eax, edx
xor ebx, ebx
mov dword [ebp - 0x2c], eax
jmp 0x101b043a
mov esi, dword [ecx + 0x14]
mov ebx, dword [esi + eax*4]
mov dword [ebp - 0x30], ebx
cmp eax, edx
jb 0x101b0059
test byte [ecx + 0x7fcc], 6
je 0x101b0788
push ecx
call fcn.10175ad0
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
test eax, eax
jbe 0x101b0473
mov ecx, dword [ecx + 0x14]
mov edi, dword [ecx]
jmp 0x101b0475
xor edi, edi
mov dword [ebp - 0x34], 0
test eax, eax
jbe 0x101b0788
jmp 0x101b0490
mov edx, dword [edi + 0x3c]
and edx, 0xfff00000
cmp edx, 0x10000000
jne 0x101b0760
mov edx, dword [edi + 0xc]
mov eax, dword [edx]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x20
xor ecx, ecx
or eax, ecx
jne 0x101b0760
mov eax, dword [edi + 8]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], ebx
mov byte [ebp - 0x18], bl
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x16], bl
mov byte [ebp - 0x15], bl
test eax, eax
jbe 0x101b0583
mov eax, dword [edi + 4]
mov ebx, eax
sub edx, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], edx
jmp 0x101b04f3
mov edx, dword [ebp - 0x48]
mov edx, dword [edx + ebx]
mov eax, dword [ebx]
mov edx, dword [edx + 0x64]
cmp edx, dword [eax + 0x64]
jne 0x101b0504
inc ecx
mov dword [ebp - 0x14], ecx
xor edx, edx
test esi, esi
jbe 0x101b056b
mov eax, dword [edi + 4]
mov ecx, dword [eax + esi*4]
mov ecx, dword [ecx + 0x64]
mov ebx, dword [eax]
cmp dword [ebx + 0x64], ecx
je 0x101b0524
inc edx
add eax, 4
cmp edx, esi
jb 0x101b0513
jmp 0x101b0568
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x40]
and eax, 0x800000
xor ebx, ebx
or eax, ebx
je 0x101b0565
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
or eax, ebx
jne 0x101b0565
mov ecx, dword [ecx + 0x64]
cmp byte [ebp + ecx - 0x18], al
lea ebx, [ebp + ecx - 0x18]
jne 0x101b0565
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
cmp dword [edx + 0x64], ecx
jne 0x101b0562
dec dword [ebp - 0x14]
mov byte [ebx], 1
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [edi + 8]
inc esi
add ebx, 4
mov dword [ebp - 0x1c], ebx
cmp esi, eax
jb 0x101b04f0
mov ebx, dword [ebp - 0xc]
cmp ecx, eax
je 0x101b0760
lea edx, [ebx + 1]
cmp edx, eax
jae 0x101b0760
cmp ecx, 1
ja 0x101b05a3
test ebx, ebx
je 0x101b0760
mov dword [ebp - 0x10], 0
cmp ecx, 1
jbe 0x101b0640
push 0xffffffffffffffff
and ecx, 0xfffff
push 0xffffffffffffffff
or ecx, 0x10000000
push ecx
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
push ecx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp - 0x40]
mov edx, dword [edi + 0x34]
mov dword [ecx + 0x34], edx
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x38], eax
xor eax, eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x10], 1
cmp dword [edi + 8], eax
jbe 0x101b0640
xor edx, edx
lea ecx, [ecx]
mov esi, dword [edi + 4]
mov esi, dword [esi + eax*4]
mov ebx, dword [esi + 0x64]
cmp byte [ebp + ebx - 0x18], 0
jne 0x101b063a
mov esi, dword [edi + 0xc]
mov esi, dword [esi + eax*4]
cmp dword [esi + 0x64], ebx
jne 0x101b063a
mov ebx, dword [ecx + 0xc]
mov dword [edx + ebx], esi
mov esi, dword [edi + 4]
mov esi, dword [esi + eax*4]
mov ebx, dword [ecx + 4]
mov dword [edx + ebx], esi
mov esi, dword [edi + 4]
mov dword [esi + eax*4], 0xffffffff
add edx, 4
inc eax
cmp eax, dword [edi + 8]
jb 0x101b0600
mov eax, dword [edi]
xor ebx, ebx
mov dword [ebp - 0xc], ebx
test eax, eax
jbe 0x101b0723
mov ecx, dword [edi + 4]
cmp dword [ecx + ebx*4], 0xffffffff
lea edx, [ecx + ebx*4]
je 0x101b0715
mov ecx, dword [edx]
mov esi, dword [ecx + 0x64]
xor ecx, ecx
mov dword [ebp - 0x48], esi
cmp ebx, eax
jae 0x101b0688
sub eax, ebx
mov dword [ebp - 0x1c], eax
cmp dword [edx], 0xffffffff
je 0x101b067f
mov eax, dword [edx]
cmp esi, dword [eax + 0x64]
jne 0x101b067f
inc ecx
add edx, 4
sub dword [ebp - 0x1c], 1
jne 0x101b0672
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
and ecx, 0xfffff
push 0xffffffffffffffff
or ecx, 0x10000000
push ecx
lea ecx, [ebp - 0x44]
push ecx
push edx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 0x38]
mov dword [ebp + eax*4 - 0x74], ecx
inc eax
mov dword [ecx + 0x38], edx
mov dword [ebp - 0x10], eax
mov eax, ebx
cmp ebx, dword [edi]
jae 0x101b0715
xor edx, edx
mov esi, dword [edi + 4]
cmp dword [esi + eax*4], 0xffffffff
lea esi, [esi + eax*4]
je 0x101b0710
mov esi, dword [esi]
mov ebx, dword [ebp - 0x48]
cmp ebx, dword [esi + 0x64]
jne 0x101b070d
mov esi, dword [edi + 0xc]
mov esi, dword [esi + eax*4]
mov ebx, dword [ecx + 0xc]
mov dword [edx + ebx], esi
mov esi, dword [edi + 4]
mov esi, dword [esi + eax*4]
mov ebx, dword [ecx + 4]
mov dword [edx + ebx], esi
mov esi, dword [edi + 4]
mov dword [esi + eax*4], 0xffffffff
add edx, 4
mov ebx, dword [ebp - 0xc]
inc eax
cmp eax, dword [edi]
jb 0x101b06d2
mov eax, dword [edi]
inc ebx
mov dword [ebp - 0xc], ebx
cmp ebx, eax
jb 0x101b064f
mov ebx, dword [ebp - 0x10]
push 1
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x74]
push eax
push ebx
call fcn.1016a230
mov esi, eax
test esi, esi
jl 0x101b1656
lea eax, [ebx - 1]
test eax, eax
jbe 0x101b0760
mov ecx, edi
mov ecx, dword [ecx + 0x10]
mov edx, eax
mov eax, dword [ebp - 0x34]
inc eax
cmp eax, ecx
jb 0x101b0758
mov eax, ecx
sub edx, 1
jne 0x101b0751
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, ecx
jb 0x101b077a
mov eax, ecx
xor edi, edi
mov dword [ebp - 0x34], eax
jmp 0x101b0780
mov edx, dword [edx + 0x14]
mov edi, dword [edx + eax*4]
cmp eax, ecx
jb 0x101b0490
mov eax, dword [ebp + 8]
push eax
call fcn.10175ad0
mov esi, eax
test esi, esi
jl 0x101b1656
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x10]
cmp eax, 0x3ffffffd
jbe 0x101b07b2
mov eax, 0x80070216
jmp 0x101b081e
add eax, eax
add eax, eax
jne 0x101b07bd
mov eax, 4
mov esi, dword [ebp + 8]
add esi, 0x8140
mov dword [ebp - 0x88], eax
mov edi, eax
test eax, eax
ja 0x101b07d7
mov edi, 1
mov eax, dword [esi]
test eax, eax
je 0x101b07e7
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
cmp edi, edx
jbe 0x101b07f6
mov ecx, edi
call fcn.100daf50
test eax, eax
je 0x101b07f6
xor eax, eax
jmp 0x101b080a
mov ecx, dword [esi]
test ecx, ecx
je 0x101b0805
mov eax, dword [ecx + 8]
lea eax, [eax + ecx + 0x10]
jmp 0x101b0807
xor eax, eax
add dword [ecx + 8], edi
mov dword [ebp - 0x94], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov esi, eax
test eax, eax
jl 0x101b1656
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
mov edi, dword [ebp - 0x94]
add edx, edx
add edx, edx
push edx
push 0
push edi
call sub.msvcrt.dll_memset
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0xc]
add esp, 0xc
test edx, edx
jbe 0x101b0858
mov eax, dword [esi + 0x7f34]
mov eax, dword [eax]
jmp 0x101b085a
xor eax, eax
xor ecx, ecx
test edx, edx
jbe 0x101b089b
mov byte [eax + 0x28], 0
mov edx, dword [esi + 0x8040]
cmp edx, dword [eax + 0x50]
jne 0x101b0880
mov edx, dword [eax + 0x60]
mov eax, dword [eax + 0x64]
cmp eax, dword [edi + edx*4]
lea edx, [edi + edx*4]
jb 0x101b0880
inc eax
mov dword [edx], eax
mov edx, dword [esi + 0xc]
inc ecx
cmp ecx, edx
jb 0x101b088e
xor eax, eax
mov ecx, edx
jmp 0x101b0897
mov eax, dword [esi + 0x7f34]
mov eax, dword [eax + ecx*4]
cmp ecx, edx
jb 0x101b0860
mov ecx, dword [esi + 0x10]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x101b08ad
mov ecx, dword [esi + 0x14]
mov ebx, dword [ecx + eax*4]
jmp 0x101b08af
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], eax
cmp eax, dword [esi + 0x10]
jae 0x101b1654
mov edi, edi
mov edi, dword [ebx + 0x3c]
mov ecx, edi
shr ecx, 0x1c
test ecx, ecx
je 0x101b1624
mov eax, dword [ebx]
and edi, 0xfffff
xor edx, edx
div edi
cmp dword [ebx + 8], 0
mov dword [ebp - 0x1c], eax
je 0x101b0931
cmp ecx, 1
jb 0x101b0931
cmp ecx, 4
ja 0x101b0931
mov edx, dword [ebx + 0xc]
push 1
push edi
push edx
lea eax, [ebp - 0xac]
call fcn.10170800
xor esi, esi
cmp dword [ebp - 0x1c], esi
jbe 0x101b0931
jmp 0x101b0910
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
imul eax, esi
push 0
lea edx, [ecx + eax*4]
push edi
push edx
lea eax, [ebp - 0xac]
call fcn.10170800
inc esi
cmp esi, dword [ebp - 0x1c]
jb 0x101b0910
mov eax, dword [ebx + 0x3c]
xor ecx, ecx
and eax, 0xfff00000
mov dword [ebp - 0x24], ecx
cmp eax, 0x10000000
jne 0x101b0ad2
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 0x50]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x98], eax
mov eax, edx
and eax, 0x1004
or eax, ecx
mov dword [ebp - 0x9c], edx
jne 0x101b0ad2
mov edi, dword [ebp + 8]
test byte [edi + 0x7fcc], 1
je 0x101b098e
mov eax, edx
and eax, 0x20
or eax, ecx
jne 0x101b0ad5
mov eax, dword [ebx + 4]
mov edx, dword [eax]
mov esi, dword [edi + 0x8040]
cmp esi, dword [edx + 0x50]
jne 0x101b0ad5
mov dword [ebp - 0x20], ecx
cmp dword [ebx], ecx
jbe 0x101b0ad5
mov ecx, dword [edi + 0x8124]
and ecx, 4
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov esi, dword [edx + 0x88]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], esi
je 0x101b09f2
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x8c]
test ecx, ecx
je 0x101b09f2
mov eax, dword [edx + 0x8c]
test eax, eax
je 0x101b09f2
cmp ecx, eax
jne 0x101b0abf
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x68]
cmp edi, 0xffffffff
je 0x101b0a2c
mov eax, dword [ebp - 0x9c]
and eax, 0x20
xor ecx, ecx
or eax, ecx
je 0x101b0a2c
mov eax, dword [esi + 0x3c]
call fcn.10171510
test al, al
je 0x101b0a2c
push 1
mov eax, esi
call fcn.1017b510
test al, al
jne 0x101b0abf
mov edx, dword [ebp - 0x1c]
cmp edi, dword [edx + 0x68]
jne 0x101b0abf
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + 0x6c]
cmp al, byte [edx + 0x6c]
jne 0x101b0abf
mov eax, dword [esi + 8]
xor ecx, ecx
test eax, eax
jbe 0x101b0a6a
mov edi, dword [ebx + 0x10]
mov edx, dword [esi + 0xc]
mov esi, dword [edx]
cmp edi, dword [esi + 0x18]
jne 0x101b0a67
cmp edi, dword [esi + 0x1c]
jne 0x101b0a67
inc ecx
add edx, 4
cmp ecx, eax
jb 0x101b0a53
mov esi, dword [ebp - 0x10]
cmp ecx, eax
jne 0x101b0abf
xor edx, edx
test eax, eax
jbe 0x101b0a9d
mov esi, dword [esi + 0xc]
mov edi, dword [ebp - 0x1c]
lea ebx, [ebx]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x68]
cmp ecx, 0xffffffff
je 0x101b0a92
mov ecx, dword [ecx + 0xc]
cmp ecx, dword [edi + 0xc]
jae 0x101b0a9a
inc edx
add esi, 4
cmp edx, eax
jb 0x101b0a80
mov esi, dword [ebp - 0x10]
cmp edx, eax
jne 0x101b0abf
mov eax, dword [esi + 0x3c]
and eax, 0xfff00000
cmp eax, 0x20700000
je 0x101b0abf
cmp eax, 0x11700000
je 0x101b0abf
mov edx, dword [ebp - 0x20]
mov byte [ebp + edx - 0x24], 1
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x14], 4
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [ebx]
jb 0x101b09bc
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x3c]
shr eax, 0x1c
cmp eax, 1
jb 0x101b0b6e
cmp eax, 4
ja 0x101b0b6e
or eax, 0xffffffff
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
xor eax, eax
cmp dword [ebx + 8], eax
jbe 0x101b0b23
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
lea esi, [ebp - 0x64]
sub ecx, esi
mov edi, edi
lea esi, [ecx + eax*4]
mov esi, dword [ebp + esi - 0x64]
mov esi, dword [esi + 0x64]
mov dword [ebp + eax*4 - 0x64], esi
inc eax
cmp eax, edx
jb 0x101b0b10
xor esi, esi
mov eax, dword [edi]
mov edx, dword [eax + 0x2c]
push ebx
push esi
mov ecx, edi
call edx
test al, al
je 0x101b0b5d
xor eax, eax
mov ecx, dword [ebp + eax*4 - 0x64]
cmp ecx, 0xffffffff
je 0x101b0b52
cmp byte [ebp + eax - 0x24], 0
jne 0x101b0b52
lea edx, [eax + esi*4]
cmp dword [edx*4 + 0x1004bd78], ecx
jne 0x101b0b58
inc eax
cmp eax, 4
jb 0x101b0b36
cmp eax, 4
je 0x101b0b63
inc esi
cmp esi, 0x18
jb 0x101b0b25
cmp esi, 0x18
je 0x101b1624
jmp 0x101b0b7a
xor eax, eax
mov dword [ebp + eax*4 - 0x64], eax
inc eax
cmp eax, 4
jb 0x101b0b70
mov byte [ebp - 0x4a], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebx + 0x3c]
mov ecx, eax
and ecx, 0xf0000000
cmp ecx, 0xb0000000
jne 0x101b0ba2
mov ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x101b0bcb
mov ecx, eax
and ecx, 0xfff00000
cmp ecx, 0x68700000
je 0x101b0bba
cmp ecx, 0x68800000
jne 0x101b0bc1
mov ecx, dword [ebx]
mov dword [ebp - 0x18], ecx
jmp 0x101b0bcb
and eax, 0xfffff
mov ecx, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
imul eax, ecx
lea edx, [eax + ecx]
cmp edx, dword [ebx]
ja 0x101b1598
mov edx, dword [ebx + 4]
lea eax, [edx + eax*4]
xor edx, edx
mov dword [ebp - 0x14], eax
cmp ecx, edx
je 0x101b1598
xor eax, eax
xor bl, bl
mov byte [ebp - 5], bl
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x3c], edx
cmp ecx, edx
jbe 0x101b0df4
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x64]
sub ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8040]
mov dword [ebp - 0x20], ebx
cmp ecx, dword [ebx + 0x50]
jne 0x101b0e56
mov ecx, dword [ebx + 0x88]
cmp ecx, 0xffffffff
je 0x101b0e56
cmp byte [ebx + 0x28], 0
je 0x101b0c54
mov byte [ebp - 5], 1
mov esi, dword [ebx + 0x64]
cmp dword [ebp + esi*4 - 0x84], 0
lea edi, [ebp + esi*4 - 0x84]
jne 0x101b0c6b
inc dword [ebp - 0x44]
mov eax, esi
inc dword [ebp + eax*4 - 0x84]
lea eax, [ebp + eax*4 - 0x84]
mov eax, dword [ecx + 0x3c]
mov edx, eax
and edx, 0xfff00000
cmp edx, 0x20700000
je 0x101b0dd1
shr eax, 0x1c
cmp eax, 1
jb 0x101b0dc1
cmp eax, 4
ja 0x101b0dc1
cmp byte [ebx + 0x28], 0
je 0x101b0d7d
mov eax, dword [ebp - 0x3c]
cmp byte [ebp + eax - 0x24], 0
jne 0x101b0cc5
cmp byte [ebp - 0x4a], 0
je 0x101b0d7d
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov edi, dword [edx + eax]
cmp edi, esi
je 0x101b0d7d
mov esi, dword [ecx + 8]
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], eax
xor eax, eax
test esi, esi
jbe 0x101b0d7d
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x2c], edx
jmp 0x101b0cf7
mov ebx, dword [ebp - 0x20]
cmp ebx, dword [edx]
jne 0x101b0cfe
mov dword [ebp - 0x40], eax
mov ebx, dword [edx]
cmp edi, dword [ebx + 0x64]
jne 0x101b0d08
mov dword [ebp - 0xc], eax
inc eax
add edx, 4
cmp eax, esi
jb 0x101b0cf4
mov ebx, dword [ebp - 0x40]
cmp ebx, 0xffffffff
je 0x101b0d7a
cmp dword [ebp - 0xc], 0xffffffff
je 0x101b0d7a
mov esi, dword [ecx + 0x3c]
mov eax, dword [ecx]
and esi, 0xfffff
xor edx, edx
div esi
xor edi, edi
test eax, eax
jbe 0x101b0d63
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 0x3c]
mov esi, dword [ebp - 0xc]
and ecx, 0xfffff
add ecx, ecx
lea esi, [edx + esi*4]
add ecx, ecx
lea edx, [edx + ebx*4]
mov ebx, dword [edx]
cmp ebx, dword [esi]
jne 0x101b0d63
inc edi
add edx, ecx
add esi, ecx
cmp edi, eax
jb 0x101b0d54
mov ebx, dword [ebp - 0x20]
cmp edi, eax
jne 0x101b0d7d
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x101b0d7d
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
test byte [edx + 0x7fd4], 0x80
jne 0x101b0dd5
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x3c]
and eax, 0xfff00000
cmp eax, 0x10600000
ja 0x101b0dad
je 0x101b0db4
cmp eax, 0x10300000
je 0x101b0db4
cmp eax, 0x10500000
je 0x101b0db4
jmp 0x101b0dd5
cmp eax, 0x10800000
jne 0x101b0dd5
mov ecx, dword [ebx + 0x64]
cmp dword [ebp + ecx*4 - 0x84], 1
jmp 0x101b0dcf
cmp dword [ecx + 8], 1
jbe 0x101b0dcc
cmp dword [ebp - 0x3c], esi
jne 0x101b0dd1
cmp dword [edi], 1
jbe 0x101b0dd5
mov byte [ebp - 5], 1
mov edx, dword [ebp - 0x3c]
add dword [ebp - 0x10], 4
inc edx
mov dword [ebp - 0x3c], edx
cmp edx, dword [ebp - 0x18]
jb 0x101b0c21
mov bl, byte [ebp - 5]
test bl, bl
jne 0x101b0e5f
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0x3c]
and edx, 0xfff00000
cmp edx, 0x10000000
je 0x101b0e26
xor eax, eax
lea ebx, [ebx]
mov edx, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x84], edx
je 0x101b0e5b
inc eax
cmp eax, 4
jb 0x101b0e10
test bl, bl
jne 0x101b0e5f
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x44]
cmp esi, dword [eax + edx*4]
je 0x101b0e62
xor eax, eax
cmp dword [ecx + 8], eax
jbe 0x101b0e62
cmp byte [ebp + eax - 0x24], 0
je 0x101b0ed6
inc eax
cmp eax, dword [ecx + 8]
jb 0x101b0e43
jmp 0x101b0e62
cmp edx, dword [ebp - 0x18]
jae 0x101b0de9
mov byte [ebp - 5], 1
mov ebx, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], 0
jbe 0x101b0f48
mov ecx, dword [ebp - 0x3c]
cmp byte [ebp + ecx - 0x24], 0
je 0x101b0f38
mov eax, dword [ebx + ecx*4]
mov eax, dword [eax + 0x88]
cmp eax, 0xffffffff
je 0x101b0f48
mov edx, dword [ebp - 0x38]
mov edx, dword [edx + 0xc]
mov ecx, dword [edx + ecx*4]
mov esi, dword [eax + 8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x2c], edx
test esi, esi
je 0x101b0f38
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x44], eax
xor eax, eax
lea ebx, [ebx]
cmp byte [ebp + eax - 0x24], 0
je 0x101b0ece
mov edi, dword [ecx]
cmp edi, dword [ebx + eax*4]
je 0x101b0edc
inc eax
cmp eax, dword [ebp - 0x18]
jb 0x101b0ec0
jmp 0x101b0edf
mov byte [ebp - 5], 1
jmp 0x101b0e62
mov dword [ebp - 0x44], edx
mov edi, 1
cmp esi, edi
jbe 0x101b0f32
add ecx, 4
jmp 0x101b0ef0
xor eax, eax
cmp byte [ebp + eax - 0x24], 0
je 0x101b0f00
mov edx, dword [ecx]
cmp edx, dword [ebx + eax*4]
je 0x101b0f08
inc eax
cmp eax, dword [ebp - 0x18]
jb 0x101b0ef2
jmp 0x101b0f13
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x2c]
jne 0x101b0f4e
mov ebx, dword [ebp - 0x14]
cmp byte [ebp - 5], 0
jne 0x101b0f4e
cmp eax, dword [ebp - 0x18]
jne 0x101b0f28
mov eax, dword [ecx]
mov edx, dword [ebp - 0x44]
cmp dword [eax + 0x50], edx
jne 0x101b0f4e
inc edi
add ecx, 4
cmp edi, esi
jb 0x101b0ef0
jmp 0x101b0f38
cmp byte [ebp - 5], 0
jne 0x101b0f4e
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x18]
jb 0x101b0e73
cmp byte [ebp - 5], 0
je 0x101b0f60
inc dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x24], 0
jmp 0x101b0b85
xor eax, eax
mov byte [ebp - 0x4a], 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x18], eax
jbe 0x101b1284
mov edi, ebx
lea ecx, [ebp - 0x64]
sub edi, ecx
mov dword [ebp - 0x50], edi
lea esp, [esp]
cmp byte [ebp + eax - 0x24], 0
je 0x101b0fc9
mov esi, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
cmp dword [ecx + 0x8c], 0
lea edx, [edx + eax*4]
mov dword [ebp + eax*4 - 0x74], ecx
jne 0x101b1277
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + eax*4]
mov esi, dword [ecx + 0x8c]
mov edx, dword [edx]
mov dword [edx + 0x8c], esi
mov ecx, dword [ecx + 0x90]
mov dword [edx + 0x90], ecx
jmp 0x101b1277
lea edx, [ebp + eax*4 - 0x64]
mov ecx, dword [edx + edi]
mov esi, dword [ecx + 0x64]
cmp dword [ebp + esi*4 - 0x84], 1
mov dword [ebp - 0x54], ecx
jne 0x101b0fee
mov edx, dword [edx]
mov dword [ebp + eax*4 - 0x74], ecx
mov dword [ecx + 0x64], edx
jmp 0x101b1277
mov eax, dword [ecx + 0x50]
mov edi, dword [edx]
mov ebx, dword [ecx + 0x60]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101b1006
xor eax, eax
jmp 0x101b100d
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0xc], 0
je 0x101b1034
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x101b101e
mov esi, ecx
jmp 0x101b1045
mov edx, dword [ecx]
mov dword [eax + 0xc], edx
test edx, edx
jne 0x101b102a
mov dword [eax + 0x10], edx
mov dword [ecx], 0xfefefefe
mov esi, ecx
jmp 0x101b1045
mov ecx, dword [eax + 8]
push 0x10
push pe_nt_image_headers32
call fcn.101d8457
mov esi, eax
xor ecx, ecx
cmp esi, ecx
je 0x101b10a2
or eax, 0xffffffff
push edi
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 0x94], ecx
mov dword [esi + 0x98], ecx
mov dword [esi + 0x24], ecx
mov ecx, dword [ebp - 0x2c]
push ebx
mov dword [esi + 0x50], eax
mov dword [esi + 0x48], eax
push ecx
mov eax, esi
call fcn.10165570
mov dword [ebp - 0xc], eax
test eax, eax
jl 0x101b10ac
mov edi, dword [ebp + 8]
push 0
mov ebx, esi
call fcn.10169830
mov dword [ebp - 0xc], eax
test eax, eax
jl 0x101b10ac
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], 0
mov dword [ebp + edx*4 - 0x74], esi
jmp 0x101b11c2
mov esi, 0x8007000e
jmp 0x101b11c7
mov ecx, dword [esi + 0x50]
xor ebx, ebx
cmp ecx, ebx
je 0x101b10e0
cmp ecx, 0xffffffff
je 0x101b10e0
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x101b10c7
mov edx, dword [esi]
mov dword [eax], edx
jmp 0x101b10cc
mov eax, dword [esi]
mov dword [ecx + 0x24], eax
mov eax, dword [esi]
cmp eax, ebx
je 0x101b10da
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
jmp 0x101b10e0
mov edx, dword [esi + 4]
mov dword [ecx + 0x28], edx
mov edi, dword [esi + 0x94]
cmp edi, ebx
je 0x101b112d
cmp byte [edi + 0xc], 0
mov dword [edi + 8], ebx
je 0x101b111f
mov ebx, dword [edi]
test ebx, ebx
je 0x101b1119
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101b1106
xor eax, eax
jmp 0x101b110d
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax]
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
xor ebx, ebx
push edi
mov dword [edi], ebx
mov dword [edi + 4], ebx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esi + 0x98]
mov dword [esi + 0x94], ebx
cmp edi, ebx
je 0x101b1180
cmp byte [edi + 0xc], 0
mov dword [edi + 8], ebx
je 0x101b1172
mov ebx, dword [edi]
test ebx, ebx
je 0x101b116c
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101b1159
xor eax, eax
jmp 0x101b1160
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [eax]
push ebx
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
xor ebx, ebx
push edi
mov dword [edi], ebx
mov dword [edi + 4], ebx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x98], ebx
mov eax, dword [0x101e316c]
cmp eax, ebx
jge 0x101b1193
xor edi, edi
jmp 0x101b119c
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
push pe_nt_image_headers32
push 0xfe
push esi
call sub.msvcrt.dll_memset
mov dword [esi], ebx
mov eax, dword [edi + 0x10]
add esp, 0xc
cmp eax, ebx
je 0x101b11bc
mov dword [eax], esi
jmp 0x101b11bf
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov esi, dword [ebp - 0xc]
xor ecx, ecx
cmp esi, ecx
jl 0x101b1656
mov esi, dword [ebp - 0x54]
mov eax, dword [esi + 0x8c]
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp + edx*4 - 0x74]
mov dword [ebx + 0x8c], eax
mov ecx, dword [esi + 0x90]
mov dword [ebx + 0x90], ecx
mov edx, dword [esi + 0xa4]
mov dword [ebx + 0xa4], edx
mov eax, dword [esi + 0xa8]
mov dword [ebx + 0xa8], eax
mov ecx, dword [esi + 0xac]
mov dword [ebx + 0xac], ecx
mov edx, dword [esi + 0xb4]
mov dword [ebx + 0xb4], edx
mov eax, dword [esi + 0x28]
mov dword [ebx + 0x28], eax
mov ecx, dword [esi + 0x40]
mov dword [ebx + 0x40], ecx
mov edx, dword [esi + 0x44]
mov dword [ebx + 0x44], edx
mov eax, dword [esi + 0x68]
mov dword [ebx + 0x68], eax
mov cl, byte [esi + 0x6c]
mov byte [ebx + 0x6c], cl
mov ecx, esi
mov eax, ebx
call fcn.10166070
mov edx, dword [esi + 0x4c]
mov ecx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x50]
mov dword [ebx + 0x4c], edx
mov eax, dword [esi + 0x60]
inc dword [ecx + eax*4]
mov ebx, dword [ebp - 0x14]
lea eax, [ecx + eax*4]
mov eax, dword [esi + 0x64]
dec dword [ebp + eax*4 - 0x84]
lea eax, [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x18]
jb 0x101b0f80
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x3c], 0
test esi, esi
jbe 0x101b1574
mov dword [ebp - 0xc], ebx
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
cmp byte [edx + 0x28], 0
mov dword [ebp - 0x40], edx
jne 0x101b153e
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x10], edi
mov byte [ebp - 5], 1
cmp eax, ecx
jae 0x101b130c
mov esi, dword [ebp - 0xc]
lea ebx, [ebp - 0x74]
sub ebx, dword [ebp - 0x14]
sub ecx, eax
lea ecx, [ecx]
mov eax, dword [esi]
mov edx, dword [edx + 0x88]
cmp edx, dword [eax + 0x88]
jne 0x101b12fe
mov edx, dword [ebx + esi]
mov dword [ebp + edi*4 - 0xcc], eax
mov dword [ebp + edi*4 - 0xbc], edx
inc edi
cmp eax, edx
je 0x101b12fa
mov byte [ebp - 5], 0
mov byte [eax + 0x28], 1
mov edx, dword [ebp - 0x40]
add esi, 4
sub ecx, 1
jne 0x101b12d0
mov dword [ebp - 0x10], edi
mov ebx, dword [edx + 0x88]
mov ecx, dword [ebx + 0x3c]
mov eax, ecx
shr eax, 0x1c
cmp eax, 1
jb 0x101b14b1
cmp eax, 4
ja 0x101b14b1
mov eax, dword [ebx]
mov esi, ecx
and esi, 0xfffff
xor edx, edx
div esi
xor esi, esi
mov byte [ebp - 0x49], 1
mov dword [ebp - 0x44], eax
test edi, edi
jbe 0x101b137e
xor eax, eax
cmp dword [ebx + 8], eax
jbe 0x101b1376
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp + esi*4 - 0xcc]
cmp dword [edx], ecx
je 0x101b1367
inc eax
add edx, 4
cmp eax, dword [ebx + 8]
jb 0x101b1351
jmp 0x101b1376
mov dword [ebp + esi*4 - 0xdc], eax
cmp esi, eax
je 0x101b1376
mov byte [ebp - 0x49], 0
inc esi
cmp esi, edi
jb 0x101b1347
mov ecx, dword [ebx + 0x3c]
cmp edi, dword [ebx + 8]
jne 0x101b1393
cmp byte [ebp - 5], 0
je 0x101b1393
cmp byte [ebp - 0x49], 0
jne 0x101b153e
and ecx, 0xfff00000
mov eax, ecx
mov ecx, dword [ebp - 0x44]
imul ecx, edi
push edi
mov edx, edi
xor edx, eax
push ecx
mov ecx, dword [ebp + 8]
and edx, 0xfffff
xor edx, eax
push edx
lea eax, [ebp - 0x48]
push eax
push ecx
call fcn.10169e20
mov esi, eax
test esi, esi
jl 0x101b1656
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0x34], edx
mov eax, dword [ebx + 0x38]
mov dword [ecx + 0x38], eax
xor eax, eax
mov dword [ebp - 0x20], eax
test edi, edi
jbe 0x101b1443
lea edx, [eax*4]
mov eax, dword [ecx + 0xc]
mov esi, dword [ebp + edx - 0xbc]
mov dword [edx + eax], esi
xor eax, eax
cmp dword [ebp - 0x44], eax
jbe 0x101b1438
mov esi, dword [ebp + edx - 0xdc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x40], edx
mov edx, dword [ebx + 8]
mov esi, dword [ebx + 4]
imul edx, eax
add edx, dword [ebp - 0x2c]
mov edi, dword [ecx + 4]
mov esi, dword [esi + edx*4]
mov edx, dword [ebp - 0x40]
mov dword [edx + edi], esi
mov edi, dword [ebp - 0x10]
lea esi, [edi*4]
inc eax
add edx, esi
mov dword [ebp - 0x40], edx
cmp eax, dword [ebp - 0x44]
jb 0x101b140b
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, edi
jb 0x101b13e3
xor eax, eax
or edx, 0xffffffff
cmp dword [ebx + 8], eax
jbe 0x101b146b
lea ecx, [ecx]
mov esi, dword [ebx + 0xc]
mov esi, dword [esi + eax*4]
mov dword [esi + 0x88], edx
mov esi, dword [ebx + 0xc]
mov esi, dword [esi + eax*4]
inc eax
mov dword [esi + 0xc], edx
cmp eax, dword [ebx + 8]
jb 0x101b1450
xor eax, eax
cmp dword [ecx + 8], eax
jbe 0x101b148d
mov esi, dword [ecx + 0xc]
mov esi, dword [esi + eax*4]
mov dword [esi + 0x88], ecx
mov esi, dword [ecx + 0xc]
mov esi, dword [esi + eax*4]
inc eax
mov dword [esi + 0xc], edx
cmp eax, dword [ecx + 8]
jb 0x101b1472
mov edi, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp - 0x48]
push eax
push 1
call fcn.1016a230
mov esi, eax
test esi, esi
jl 0x101b1656
mov byte [ebp - 0x25], 1
jmp 0x101b153e
cmp byte [ebp - 5], 0
jne 0x101b153e
xor eax, eax
or ecx, 0xffffffff
cmp dword [ebx + 8], eax
jbe 0x101b14eb
jmp 0x101b14d0
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax*4]
mov dword [edx + 0x88], ecx
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax*4]
inc eax
mov dword [edx + 0xc], ecx
cmp eax, dword [ebx + 8]
jb 0x101b14d0
xor esi, esi
cmp dword [ebx + 8], esi
jbe 0x101b151c
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + esi*4]
lea ecx, [ecx + esi*4]
xor eax, eax
mov edi, dword [ebp - 0x14]
cmp edx, dword [edi + eax*4]
je 0x101b150d
inc eax
cmp eax, dword [ebp - 0x18]
jb 0x101b14fd
jmp 0x101b1513
mov edx, dword [ebp + eax*4 - 0x74]
mov dword [ecx], edx
inc esi
cmp esi, dword [ebx + 8]
jb 0x101b14f2
or ecx, 0xffffffff
xor eax, eax
cmp dword [ebx + 8], eax
jbe 0x101b153e
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax*4]
mov dword [edx + 0x88], ebx
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + eax*4]
inc eax
mov dword [edx + 0xc], ecx
cmp eax, dword [ebx + 8]
jb 0x101b1523
mov eax, dword [ebp - 0x3c]
add dword [ebp - 0xc], 4
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x18]
jb 0x101b129d
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
test esi, esi
jbe 0x101b1574
lea ecx, [ebp - 0x74]
mov eax, ebx
sub ecx, ebx
mov edx, dword [eax + ecx]
mov dword [eax], edx
add eax, 4
sub esi, 1
mov byte [edx + 0x28], 1
jne 0x101b1563
cmp byte [ebp - 0x25], 0
je 0x101b158d
mov eax, dword [ebp + 8]
push eax
call fcn.10175ad0
mov esi, eax
test esi, esi
jl 0x101b1656
inc dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x38]
jmp 0x101b0b85
mov ecx, dword [ebx + 0x3c]
and ecx, 0xfff00000
cmp ecx, 0x10000000
jne 0x101b1624
xor ecx, ecx
xor eax, eax
cmp dword [ebx + 8], ecx
jbe 0x101b161a
cmp byte [ebp + ecx - 0x24], 0
mov edx, dword [ebx + 0xc]
jne 0x101b15d6
mov esi, dword [edx + ecx*4]
mov dword [edx + eax*4], esi
mov edx, dword [ebx + 4]
mov esi, dword [edx + ecx*4]
mov dword [edx + eax*4], esi
inc eax
jmp 0x101b1600
mov edx, dword [edx + eax*4]
cmp dword [edx + 0x8c], 0
jne 0x101b1600
mov esi, dword [ebx + 4]
mov esi, dword [esi + eax*4]
mov edi, dword [esi + 0x8c]
mov dword [edx + 0x8c], edi
mov esi, dword [esi + 0x90]
mov dword [edx + 0x90], esi
inc ecx
cmp ecx, dword [ebx + 8]
jb 0x101b15ba
test eax, eax
je 0x101b161a
mov ecx, eax
and ecx, 0xfffff
or ecx, 0x10000000
jmp 0x101b161c
xor ecx, ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
test eax, eax
je 0x101b163f
mov ecx, dword [edx + 0x10]
cmp eax, ecx
jae 0x101b163f
mov edx, dword [edx + 0x14]
mov ebx, dword [edx + eax*4 - 4]
dec eax
jmp 0x101b1646
mov ecx, dword [edx + 0x10]
xor ebx, ebx
mov eax, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ebx
cmp eax, ecx
jb 0x101b08c0
xor esi, esi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x88]
add edi, 0x8140
cmp dword [ebp - 0x94], 0
je 0x101b1695
test eax, eax
ja 0x101b1677
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x101b168c
sub dword [ebx + 8], eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx]
mov dword [edi], eax
call fcn.100daed0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4