Function at 0x100d0420
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x48
mov al, byte [ebp + 0x18]
push ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp + 0x28]
push esi
push edi
test ecx, ecx
je 0x100d043a
mov byte [ecx], al
mov byte [ebp - 2], al
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
cmp eax, dword [ebp + 0x14]
jae 0x100d1049
mov esi, dword [ebp - 0xc]
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp - 8]
mov ebx, dword [ecx + eax*4]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebp + 8]
mov eax, ecx
and ecx, 0xfffff
and eax, 0xfff00000
cmp dword [ebx + 8], 0
mov edi, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], edi
je 0x100d0f92
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
cmp dword [ecx + 0x68], edx
jne 0x100d0d61
cmp byte [ebp + 0x1c], 0
je 0x100d04a1
cmp eax, 0x11400000
jne 0x100d0f87
mov cl, byte [ebp + 0x18]
mov dl, cl
mov byte [ebp - 0x10], dl
test cl, cl
je 0x100d04c5
mov cl, byte [ebp + 0xc]
mov edx, dword [ebp - 0x14]
cmp byte [edx + 0x6c], cl
mov cl, byte [ebp + 0x18]
je 0x100d04c2
xor dl, dl
mov byte [ebp - 0x10], dl
jmp 0x100d04c5
mov dl, byte [ebp - 0x10]
cmp eax, 0x72b00000
je 0x100d04f3
cmp eax, 0x72c00000
je 0x100d04f3
cmp eax, 0x72d00000
je 0x100d04f3
cmp eax, 0x72e00000
je 0x100d04f3
cmp eax, 0x73e00000
je 0x100d04f3
cmp eax, 0x11200000
jne 0x100d06e5
cmp edi, 1
jne 0x100d0fb7
test dl, dl
je 0x100d0525
push edi
push ebx
push esi
call fcn.100cfbd0
mov esi, eax
test esi, esi
je 0x100d0fdc
mov edi, dword [ebp - 0xc]
push esi
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp - 0xc]
push 0
push 0
push 0
inc eax
push 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebx + 0xc]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push 1
push ecx
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0590
push 0
push ebx
mov edx, esi
push edx
call fcn.100cfbd0
mov esi, eax
test esi, esi
je 0x100d0fdc
mov edi, dword [ebp - 0xc]
push esi
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebx + 0xc]
push edx
mov dword [ebp - 0x18], eax
mov edx, dword [ecx]
lea eax, [ebp - 0x18]
push eax
push 0
push edx
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0670
mov eax, dword [esi + 0x8064]
push 0x11
push 0
push 0
push eax
lea ecx, [ebp - 0x2c]
push ecx
push esi
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0x38], 0
mov byte [eax + 0x39], 0
mov dword [eax + 0x34], 0xffffffff
call fcn.101751a0
test eax, eax
je 0x100d1031
call fcn.10171da0
mov esi, eax
test esi, esi
je 0x100d1031
push 0
push esi
mov edx, 1
xor ecx, ecx
mov eax, 0x72a00001
call fcn.10172020
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov edx, dword [ebx + 0x34]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0xc]
mov dword [esi + 0x34], edx
mov eax, dword [ebx + 0x38]
mov edx, dword [ebp + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
mov cl, byte [ebp + 0xc]
mov dword [eax + 0x68], edx
push esi
mov byte [eax + 0x6c], cl
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov esi, dword [esi + 0x8020]
mov ecx, dword [eax + 0x50]
cmp ecx, esi
je 0x100d06d8
test ecx, ecx
je 0x100d06af
cmp ecx, 0xffffffff
je 0x100d06af
mov edx, dword [eax + 4]
test edx, edx
je 0x100d0696
mov edi, dword [eax]
mov dword [edx], edi
jmp 0x100d069b
mov edx, dword [eax]
mov dword [ecx + 0x24], edx
mov edx, dword [eax]
test edx, edx
je 0x100d06a9
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
jmp 0x100d06af
mov edx, dword [eax + 4]
mov dword [ecx + 0x28], edx
test esi, esi
je 0x100d06d5
cmp esi, 0xffffffff
je 0x100d06d5
mov ecx, dword [esi + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100d06c9
mov dword [ecx], eax
jmp 0x100d06cc
mov dword [esi + 0x24], eax
mov dword [eax], 0
mov dword [esi + 0x28], eax
mov dword [eax + 0x50], esi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov eax, edx
jmp 0x100d0445
cmp eax, 0x11900000
je 0x100d0be7
cmp eax, 0x22f00000
je 0x100d0be7
cmp eax, 0x11b00000
je 0x100d0b29
cmp eax, 0x23000000
je 0x100d0b29
cmp eax, 0x11600000
je 0x100d0a50
cmp eax, 0x11a00000
je 0x100d0a50
cmp eax, 0x11d00000
je 0x100d0a50
cmp eax, 0x11300000
je 0x100d0855
cmp eax, 0x73700000
je 0x100d0855
cmp eax, 0x11400000
jne 0x100d07a6
test dl, dl
je 0x100d0f87
cmp byte [ebp + 0x1c], 0
je 0x100d0f87
xor esi, esi
test edi, edi
jbe 0x100d0785
mov cl, byte [ebp + 0x24]
mov edx, dword [ebp + 0x20]
lea ecx, [ecx]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + esi*4]
inc esi
mov byte [eax + 0x38], 1
mov byte [eax + 0x39], cl
mov dword [eax + 0x34], edx
cmp esi, edi
jb 0x100d0770
mov ecx, dword [ebp - 0xc]
push 0
push ebx
push ecx
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
jmp 0x100d0445
cmp eax, 0x11800000
je 0x100d0f87
cmp eax, 0x12000000
je 0x100d0f87
cmp eax, 0x74100000
je 0x100d081a
cmp eax, 0x74400000
je 0x100d081a
cmp eax, 0x74700000
je 0x100d081a
cmp eax, 0x50600000
ja 0x100d07ec
je 0x100d07fa
cmp eax, 0x50400000
je 0x100d07fa
cmp eax, 0x50500000
je 0x100d07fa
test cl, cl
jmp 0x100d07fe
cmp eax, 0x50800000
je 0x100d07fa
cmp eax, 0x50900000
jne 0x100d07e8
cmp byte [ebp - 2], 0
je 0x100d0f87
mov dl, byte [ebp + 0xc]
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x6c], dl
jne 0x100d0f87
mov ecx, esi
jmp 0x100d0788
test cl, cl
je 0x100d0f87
mov dl, byte [ebp + 0xc]
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x6c], dl
jne 0x100d0f87
push 0
push ebx
mov ecx, esi
push ecx
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov byte [ebp + 0x18], 0
jmp 0x100d0445
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
push 0
inc eax
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push eax
push 1
push ecx
push edx
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push 1
push ecx
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0955
cmp dword [ebp - 0x20], 0x11300000
push 0
push ebx
jne 0x100d08d8
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
and esi, 0xfffff
mov edx, esi
or edx, 0x73800000
push eax
mov dword [ebx + 0x3c], edx
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
or esi, 0x11300000
mov dword [ebx + 0x3c], esi
jmp 0x100d08ea
mov ecx, esi
push ecx
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x8020]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x100d0955
test edx, edx
je 0x100d092c
cmp edx, 0xffffffff
je 0x100d092c
mov esi, dword [eax + 4]
test esi, esi
je 0x100d0913
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x100d0918
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x100d0926
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x100d092c
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x100d0952
cmp ecx, 0xffffffff
je 0x100d0952
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x100d0946
mov dword [edx], eax
jmp 0x100d0949
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp - 0xc]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebx + 0xc]
push edx
mov dword [ebp - 0x1c], eax
mov edx, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
push 1
push edx
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0a43
mov eax, dword [esi + 0x8064]
push 0x11
push 0
push 0
push eax
lea ecx, [ebp - 0x30]
push ecx
push esi
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x38], 0
mov byte [eax + 0x39], 0
mov dword [eax + 0x34], 0xffffffff
call fcn.101751a0
test eax, eax
je 0x100d1031
call fcn.10171da0
mov esi, eax
test esi, esi
je 0x100d1031
push 0
xor ecx, ecx
cmp dword [ebp - 0x20], 0x11300000
mov edx, 1
push esi
mov eax, 0x74000001
je 0x100d0a01
mov eax, 0x73f00001
call fcn.10172020
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov edx, dword [ebx + 0x34]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0xc]
mov dword [esi + 0x34], edx
mov eax, dword [ebx + 0x38]
mov edx, dword [ebp + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
mov cl, byte [ebp + 0xc]
mov dword [eax + 0x68], edx
push esi
mov byte [eax + 0x6c], cl
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 8], edx
mov eax, edx
jmp 0x100d0445
cmp edi, 1
jne 0x100d0fb7
test dl, dl
je 0x100d0a70
push 0
push ebx
push esi
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 1]
push ecx
push 0
push 0
push 0
inc eax
push edx
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x34]
push ecx
mov byte [ebp - 1], 1
mov eax, dword [edx]
push 1
push eax
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0ab6
mov cl, byte [ebp - 1]
mov byte [ebp + 0x18], cl
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0x8020]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x100d0b1e
test edx, edx
je 0x100d0af5
cmp edx, 0xffffffff
je 0x100d0af5
mov esi, dword [eax + 4]
test esi, esi
je 0x100d0adc
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x100d0ae1
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x100d0aef
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x100d0af5
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x100d0b1b
cmp ecx, 0xffffffff
je 0x100d0b1b
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x100d0b0f
mov dword [edx], eax
jmp 0x100d0b12
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
jmp 0x100d0445
test dl, dl
je 0x100d0b40
push 0
push ebx
push esi
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x14]
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebx + 0xc]
inc ecx
mov dword [ebp - 0x38], ecx
push eax
mov eax, dword [edx]
lea ecx, [ebp - 0x38]
push ecx
push 1
push eax
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0x8020]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x100d0bdc
test edx, edx
je 0x100d0bb3
cmp edx, 0xffffffff
je 0x100d0bb3
mov esi, dword [eax + 4]
test esi, esi
je 0x100d0b9a
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x100d0b9f
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x100d0bad
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x100d0bb3
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x100d0bd9
cmp ecx, 0xffffffff
je 0x100d0bd9
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x100d0bcd
mov dword [edx], eax
jmp 0x100d0bd0
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
jmp 0x100d0445
test dl, dl
je 0x100d0bfe
push 0
push ebx
push esi
call fcn.1016a100
mov edi, eax
test edi, edi
jl 0x100d1071
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x14]
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebx + 0xc]
inc ecx
mov dword [ebp - 0x40], ecx
push eax
mov eax, dword [edx]
lea ecx, [ebp - 0x40]
push ecx
push 1
push eax
mov ecx, esi
call fcn.100d0420
mov edi, eax
test edi, edi
jl 0x100d1071
cmp byte [ebp - 0x10], 0
je 0x100d0cec
cmp dword [ebp - 0x20], 0x11900000
jne 0x100d0cec
mov ecx, dword [esi + 0x8064]
push 0x11
push 0
push 0
push ecx
lea edx, [ebp - 0x3c]
push edx
push esi
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x38], 0
mov byte [eax + 0x39], 0
mov dword [eax + 0x34], 0xffffffff
call fcn.101751a0
test eax, eax
je 0x100d1031
call fcn.10171da0
mov esi, eax
test esi, esi
je 0x100d1031
push 0
push esi
mov edx, 1
xor ecx, ecx
mov eax, 0x74900001
call fcn.10172020
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov eax, dword [ebx + 0x34]
mov edx, dword [esi + 0xc]
mov edi, dword [ebp - 0xc]
mov dword [esi + 0x34], eax
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x38], ecx
mov ecx, dword [ebp + 8]
mov dword [edx], eax
mov dl, byte [ebp + 0xc]
mov dword [eax + 0x68], ecx
push esi
mov byte [eax + 0x6c], dl
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov esi, dword [esi + 0x8020]
mov ecx, dword [eax + 0x50]
cmp ecx, esi
je 0x100d0d54
test ecx, ecx
je 0x100d0d2b
cmp ecx, 0xffffffff
je 0x100d0d2b
mov edx, dword [eax + 4]
test edx, edx
je 0x100d0d12
mov edi, dword [eax]
mov dword [edx], edi
jmp 0x100d0d17
mov edx, dword [eax]
mov dword [ecx + 0x24], edx
mov edx, dword [eax]
test edx, edx
je 0x100d0d25
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
jmp 0x100d0d2b
mov edx, dword [eax + 4]
mov dword [ecx + 0x28], edx
test esi, esi
je 0x100d0d51
cmp esi, 0xffffffff
je 0x100d0d51
mov ecx, dword [esi + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100d0d45
mov dword [ecx], eax
jmp 0x100d0d48
mov dword [esi + 0x24], eax
mov dword [eax], 0
mov dword [esi + 0x28], eax
mov dword [eax + 0x50], esi
mov edx, dword [ebp - 0x40]
mov dword [ebp - 8], edx
mov eax, edx
jmp 0x100d0445
cmp eax, 0x20700000
je 0x100d0d81
cmp eax, 0x11c00000
je 0x100d0d81
cmp eax, 0x11e00000
je 0x100d0d81
cmp eax, 0x11700000
jne 0x100d1041
cmp byte [ebp + 0x1c], 0
jne 0x100d0f87
mov esi, dword [ebx + 4]
mov ecx, dword [esi]
cmp eax, 0x20700000
je 0x100d0d9c
mov dword [ebp - 0x24], ecx
jmp 0x100d0da5
mov edx, dword [esi + edi*4]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + 8]
cmp dword [ecx + 0x68], edx
je 0x100d0db6
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x68], edx
jne 0x100d1056
cmp byte [ebp - 2], 0
je 0x100d0f87
cmp byte [ebp + 0x18], 0
jne 0x100d0dea
cmp eax, 0x20700000
je 0x100d0f87
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x100d0f87
inc dword [ebp - 8]
mov byte [eax], 0
mov eax, dword [ebp - 8]
jmp 0x100d0445
mov dword [ebp - 0x14], 0
test edi, edi
jbe 0x100d0f87
mov edx, esi
mov esi, dword [ebp - 0x14]
mov edi, edi
mov eax, dword [edx]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x200020
xor ecx, ecx
or eax, ecx
jne 0x100d0e14
inc esi
add edx, 4
sub edi, 1
jne 0x100d0e00
mov dword [ebp - 0x14], esi
test esi, esi
je 0x100d0f87
call fcn.101751a0
xor esi, esi
xor ecx, ecx
test eax, eax
je 0x100d0e67
or edx, 0xffffffff
mov word [eax + 0x40], si
mov word [eax + 0x42], si
mov dword [eax], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x3c], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], ecx
mov esi, eax
cmp esi, ecx
je 0x100d1031
mov ecx, dword [ebp - 0x14]
mov eax, ecx
push 0
and eax, 0xfffff
or eax, 0x10000000
push esi
mov edx, ecx
call fcn.10172020
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov ecx, dword [ebx + 0x34]
mov edi, dword [ebp - 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [ebx + 0x38]
push esi
mov dword [esi + 0x38], edx
call fcn.101699c0
mov edi, eax
test edi, edi
jl 0x100d0fe1
mov eax, dword [ebp - 0x28]
xor ecx, ecx
lea edx, [eax*4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x200020
xor edx, edx
or eax, edx
jne 0x100d0f76
push 0x11
push eax
push eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x8040]
push ecx
lea edx, [ebp - 0x44]
push edx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x100d1071
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x44]
call fcn.10165690
mov edi, eax
test edi, edi
jl 0x100d1071
mov edx, dword [esi + 0xc]
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov dword [eax + edx], edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebp + 8]
mov dword [edi + 0x68], edx
mov dl, byte [ebp + 0xc]
mov byte [edi + 0x6c], dl
cmp byte [ecx + 0x6c], dl
je 0x100d0f5e
cmp dword [ebp - 0x20], 0x20700000
jne 0x100d0f5e
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0x24]
mov edx, dword [esi + 4]
mov ecx, dword [edi + ecx]
mov dword [eax + edx], ecx
jmp 0x100d0f6d
mov edx, dword [ebx + 4]
mov edi, dword [ebp - 0x14]
mov ecx, dword [esi + 4]
mov edx, dword [edx + edi*4]
mov dword [eax + ecx], edx
mov ecx, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x48], eax
add dword [ebp - 0x24], 4
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x28]
jb 0x100d0ec6
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
jmp 0x100d0445
mov edx, dword [ebx + 0x38]
push 0x10087424
mov ecx, 0x12df
call fcn.10168ee0
mov edi, 0x80004005
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov edx, dword [ebx + 0x38]
push 0x10087450
mov ecx, 0x12e0
call fcn.10168ee0
mov edi, 0x80004005
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov edi, 0x8007000e
test esi, esi
je 0x100d1071
call fcn.10171ee0
mov eax, dword [0x101e316c]
test eax, eax
jl 0x100d1071
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test ebx, ebx
je 0x100d1071
push 0x44
push 0xfe
push esi
call sub.msvcrt.dll_memset
mov dword [esi], 0
mov eax, dword [ebx + 0x1c]
add esp, 0xc
test eax, eax
je 0x100d106b
mov dword [eax], esi
mov dword [ebx + 0x1c], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov edi, 0x8007000e
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
mov dword [edx], ecx
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
xor edi, edi
mov dword [ecx], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24