Function at 0x1001b750
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x28
push ebx
xor ebx, ebx
push ebp
xor ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], ebp
cmp esi, ebx
je 0x1001c4de
cmp dword [esi + 0x87b4], 0xc0dedbad
jne 0x1001c4de
push edi
mov dword [esp + 0x10], ebx
cmp dword [esi + 0x86b0], ebx
je 0x1001b7c8
mov eax, dword [esi + 0x86b8]
push eax
push esi
push str.Pipe_broke:_handle_0x_p__url___s_n
push esi
call fcn.10022190
add esp, 0x10
cmp dword [esi + 0xc], 0x10
jge 0x1001b7ba
lea eax, [ebx + 2]
mov ecx, esi
call fcn.1001a190
or ebp, 0xffffffff
mov dword [esi + 0x10], ebx
mov dword [esi + 0x86b0], ebx
mov dword [esi + 8], ebx
jmp 0x1001c461
mov eax, dword [esi + 8]
lea edi, [esi + 8]
cmp eax, ebx
jne 0x1001b7fe
mov ecx, dword [esi + 0xc]
cmp ecx, 2
jle 0x1001b7fa
cmp ecx, 0xf
jge 0x1001b7fa
push ecx
push str.In_state__d_with_no_easy_conn__bail_out__n
push esi
call fcn.10022220
add esp, 0xc
pop edi
pop ebp
mov eax, 4
pop ebx
add esp, 0x28
ret
cmp eax, ebx
je 0x1001b80d
mov ecx, dword [esi + 0xc]
cmp ecx, 2
jle 0x1001b80d
cmp ecx, 0x10
jge 0x1001b80d
mov dword [eax], esi
cmp dword [edi], ebx
je 0x1001b958
mov eax, dword [esi + 0xc]
cmp eax, 2
jl 0x1001b958
cmp eax, 0x10
jge 0x1001b958
xor ecx, ecx
cmp eax, 7
setle cl
lea edx, [esp + 0x3c]
push ecx
push edx
push esi
call fcn.10001f30
add esp, 0xc
test eax, eax
jge 0x1001b958
mov eax, dword [esi + 0xc]
cmp eax, 3
jne 0x1001b882
mov eax, dword [esi + 0x52c]
mov ecx, dword [esi + 0x528]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
call fcn.10029810
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push esi
call fcn.10022220
add esp, 0x1c
jmp 0x1001b934
cmp eax, 4
jne 0x1001b8b5
mov ecx, dword [esi + 0x52c]
mov edx, dword [esi + 0x528]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
call fcn.10029810
push eax
push str.Connection_timed_out_after__ld_milliseconds
push esi
call fcn.10022220
add esp, 0x1c
jmp 0x1001b934
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
mov edx, dword [esi + 0x52c]
je 0x1001b903
push ecx
mov ecx, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x74]
push eax
mov eax, dword [esi + 0x528]
push ecx
mov ecx, dword [esi + 0x94]
push edx
mov edx, dword [esi + 0x90]
push eax
push ecx
push edx
call fcn.10029810
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.10022220
add esp, 0x1c
jmp 0x1001b934
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x528]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
call fcn.10029810
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push esi
call fcn.10022220
add esp, 0x14
mov eax, dword [edi]
mov dword [eax + 0x1cc], 1
mov eax, 0x10
mov ecx, esi
mov dword [esi + 0x10], 0x1c
call fcn.1001a190
jmp 0x1001c461
mov eax, dword [esi + 0xc]
cmp eax, 0x11
ja case.default.0x1001b967
or ebp, 0xffffffff
jmp dword [eax*4 + 0x1001c4ec]
push esi
call fcn.1002aaf0
add esp, 4
mov dword [esi + 0x10], eax
cmp eax, ebx
jne case.0x1001b967.1
mov eax, 2
mov ecx, esi
call fcn.1001a190
push 1
push esi
call fcn.1001fcf0
mov dword [esp + 0x14], ebp
jmp 0x1001c3d4
push 2
push esi
call fcn.1001fcf0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push edx
push edi
push esi
call fcn.10031860
add esp, 0x18
mov dword [esi + 0x10], eax
cmp eax, 0x59
jne 0x1001b9f6
mov eax, 1
mov ecx, esi
call fcn.1001a190
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 4]
push esi
push ecx
push eax
call fcn.100189d0
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xffffffe5
add eax, 0x1b
mov dword [esi + 0x10], eax
jmp case.0x1001b967.1
cmp eax, ebx
jne case.0x1001b967.1
mov edx, dword [edi]
push edx
push esi
call fcn.1001db40
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001bcdf
cmp dword [esp + 0x28], ebx
je 0x1001ba2c
mov eax, 3
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
mov dword [esp + 0xc], ebp
cmp dword [esp + 0x14], ebx
je 0x1001ba50
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x30]
neg eax
sbb eax, eax
add eax, 8
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
mov ecx, dword [edi]
cmp dword [ecx + 0x4ec], 1
mov ecx, esi
jne 0x1001ba6c
mov eax, 5
call fcn.1001a190
jmp case.0x1001b967.1
mov eax, 4
call fcn.1001a190
jmp case.0x1001b967.1
mov ebp, dword [edi]
mov dword [esp + 0x18], ebx
cmp dword [esi + 0x48], ebx
je 0x1001ba93
push 2
push 3
push esi
call fcn.100228b0
add esp, 0xc
mov eax, dword [ebp + 0xb0]
mov ecx, dword [ebp + 0x98]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
push ebp
call fcn.1000fa90
add esp, 0x10
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x1001bae4
mov ecx, 1
add dword [eax + 0x10], ecx
mov edx, dword [esp + 0x18]
push str.Hostname_was_found_in_DNS_cache_n
mov dword [ebp + 0x3e4], edx
mov dword [ebp + 0x3e8], ecx
push esi
mov dword [esi + 0x10], ebx
call fcn.10022190
mov eax, dword [esp + 0x20]
add esp, 8
cmp dword [esp + 0x2c], ebx
je 0x1001bafc
push str.Hostname_in_DNS_cache_was_stale__zapped_n
push esi
call fcn.10022190
mov eax, dword [esp + 0x20]
add esp, 8
cmp dword [esi + 0x48], ebx
je 0x1001bb10
push 3
push esi
call fcn.100228f0
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
jne 0x1001bb27
mov ecx, dword [edi]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10001410
add esp, 8
mov dword [esi + 0x10], eax
mov ebp, dword [esp + 0x38]
push esi
push ebp
call fcn.1001b340
add esp, 8
cmp dword [esp + 0x18], ebx
je 0x1001bb8c
mov eax, dword [edi]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.1000f830
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
je 0x1001bb56
mov dword [edi], ebx
jmp 0x1001bb8c
mov dword [esp + 0xc], 0xffffffff
cmp dword [esp + 0x14], ebx
je 0x1001bb70
mov eax, dword [ebp + 0x30]
neg eax
sbb eax, eax
add eax, 8
jmp 0x1001bb85
mov ecx, dword [edi]
cmp dword [ecx + 0x4ec], 1
mov eax, 5
je 0x1001bb85
mov eax, 4
mov ecx, esi
call fcn.1001a190
cmp dword [esi + 0x10], ebx
je case.0x1001b967.1
mov dword [esp + 0x10], 1
jmp case.0x1001b967.1
mov eax, dword [edi]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.10010d40
mov ecx, dword [edi]
add esp, 8
mov dword [esi + 0x10], eax
cmp dword [ecx + 0x224], ebx
jne 0x1001bc20
cmp eax, ebx
jne case.0x1001b967.1
cmp dword [ecx + 0x4ec], 2
jne case.0x1001b967.1
mov eax, 4
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
mov edx, dword [edi]
lea ecx, [esp + 0x24]
push ecx
push ebx
push edx
call fcn.10002df0
add esp, 0xc
mov dword [esi + 0x10], eax
cmp dword [esp + 0x24], ebx
je 0x1001bc16
cmp eax, ebx
jne 0x1001bc16
mov ecx, dword [edi]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.1002be70
add esp, 8
mov dword [esi + 0x10], eax
mov eax, dword [edi]
cmp dword [eax + 0x224], ebx
je 0x1001bc38
mov eax, 2
mov ecx, esi
mov dword [esi + 0x10], ebx
mov dword [esp + 0xc], ebp
call fcn.1001a190
jmp case.0x1001b967.1
cmp dword [esi + 0x10], ebx
je 0x1001bc4a
mov dword [esp + 0x10], 1
jmp case.0x1001b967.1
cmp dword [esp + 0x24], ebx
je case.0x1001b967.1
cmp dword [esp + 0x14], ebx
jne 0x1001bcac
cmp dword [eax + 0x4ec], 1
mov ecx, esi
jne 0x1001bc78
mov eax, 5
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
mov eax, 6
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
mov ecx, dword [edi]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.1002bdf0
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001bcca
cmp dword [esp + 0x14], ebx
je case.0x1001b967.1
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x30]
neg eax
sbb eax, eax
add eax, 8
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
push esi
call fcn.10001010
push 1
mov eax, dword [esi + 0x10]
push eax
push edi
call fcn.10030890
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.0x1001b967.1
mov ebp, dword [edi]
cmp dword [ebp + 0x284], ebx
jne case.0x1001b967.1
mov eax, dword [ebp + 0x288]
push esi
call fcn.1001abb0
add esp, 4
test eax, eax
je case.0x1001b967.1
mov eax, 8
mov ecx, esi
mov dword [ebp + 0x284], 1
call fcn.1001a190
mov dword [esp + 0xc], 0xffffffff
jmp case.0x1001b967.1
cmp dword [esi + 0x368], ebx
je 0x1001bd5c
mov ecx, dword [edi]
mov dword [ecx + 0x1cc], ebx
mov eax, 0xf
mov ecx, esi
call fcn.1001a190
mov dword [esi + 0x10], ebx
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
lea edx, [esp + 0x1c]
push edx
push edi
call fcn.1002d2c0
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001bdfa
cmp dword [esp + 0x1c], ebx
jne 0x1001bdc8
cmp dword [esi + 0x444], ebx
je 0x1001bdb3
mov eax, dword [esi + 0x86f0]
cmp eax, 6
je 0x1001bd93
cmp eax, 4
jne 0x1001bdb3
push ebx
push ebx
push edi
call fcn.10030890
add esp, 0xc
mov eax, 0xf
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
mov eax, 9
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], ebx
jmp case.0x1001b967.1
mov eax, dword [edi]
mov ecx, esi
cmp dword [eax + 0x1ec], ebx
je 0x1001bde7
mov eax, 0xa
call fcn.1001a190
mov dword [esp + 0xc], ebx
jmp case.0x1001b967.1
mov eax, 0xb
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
cmp eax, 0x37
jne 0x1001bec2
mov eax, dword [edi]
cmp dword [eax + 0x1d0], ebx
je 0x1001bec2
lea ecx, [esp + 0x18]
push ecx
push eax
mov dword [esp + 0x20], ebx
xor ebp, ebp
call fcn.1002b170
add esp, 8
cmp eax, ebx
je 0x1001be36
mov dword [esi + 0x10], eax
mov dword [esp + 0x10], 1
jmp 0x1001be41
xor edx, edx
cmp dword [esp + 0x18], ebx
setne dl
mov ebp, edx
push esi
call fcn.10001010
mov eax, dword [esi + 0x10]
push ebx
push eax
push edi
call fcn.10030890
add esp, 0x10
cmp ebp, ebx
je 0x1001bb95
cmp eax, ebx
je 0x1001be7c
cmp eax, 0x37
je 0x1001be7c
mov ecx, dword [esp + 0x18]
push ecx
mov dword [esi + 0x10], eax
call dword [0x1005100c]
add esp, 4
jmp case.0x1001b967.1
mov edx, dword [esp + 0x18]
push 2
push edx
push esi
call fcn.1002ae80
add esp, 0xc
cmp eax, ebx
jne 0x1001beac
mov eax, 2
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], 0xffffffff
mov dword [esi + 0x10], ebx
jmp case.0x1001b967.1
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x18]
push eax
call dword [0x1005100c]
add esp, 4
jmp case.0x1001b967.1
push esi
call fcn.10001010
add esp, 4
cmp dword [edi], ebx
je 0x1001bedd
mov ecx, dword [esi + 0x10]
push ebx
push ecx
push edi
call fcn.10030890
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x1001b967.1
mov eax, dword [edi]
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.1002be30
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001bf2a
cmp dword [esp + 0x1c], ebx
je case.0x1001b967.1
mov ecx, dword [edi]
mov eax, dword [ecx + 0x1ec]
neg eax
sbb eax, eax
add eax, 0xb
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
push esi
call fcn.10001010
mov edx, dword [esi + 0x10]
push ebx
push edx
jmp 0x1001bcd6
mov ecx, dword [edi]
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.1002d350
add esp, 8
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001bf7b
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x1001bdde
xor edx, edx
cmp eax, 1
sete dl
mov ecx, esi
lea edx, [edx + edx + 9]
mov eax, edx
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
push esi
call fcn.10001010
push ebx
jmp 0x1001bcd2
mov ecx, dword [edi]
push ecx
push esi
call fcn.1001db90
mov edx, dword [esp + 0x40]
push edx
call fcn.1001af70
mov eax, dword [edi]
add esp, 0xc
cmp dword [eax + 0x24c], ebp
jne 0x1001bfb4
cmp dword [eax + 0x250], ebp
mov eax, 0xf
je 0x1001bfb9
mov eax, 0xc
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], ebp
jmp case.0x1001b967.1
mov ebp, dword [edi]
cmp dword [ebp + 0x280], ebx
jne case.0x1001b967.1
mov eax, dword [ebp + 0x28c]
push esi
call fcn.1001abb0
add esp, 4
test eax, eax
je case.0x1001b967.1
mov eax, 0xd
mov ecx, esi
mov dword [ebp + 0x280], 1
call fcn.1001a190
mov dword [esp + 0xc], 0xffffffff
jmp case.0x1001b967.1
mov eax, dword [edi]
push eax
call fcn.1001ff60
add esp, 4
test eax, eax
je 0x1001c029
mov dword [esi + 0x10], 0x2a
jmp 0x1001c03f
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push esi
call fcn.10025600
add esp, 0xc
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x208]
mov eax, dword [esi + 0x20c]
mov edx, ecx
or edx, eax
je 0x1001c06f
mov edx, dword [esi + 0x4ec]
cmp edx, eax
jg case.0x1001b967.1
jl 0x1001c06f
mov eax, dword [esi + 0x4e8]
cmp eax, ecx
jae case.0x1001b967.1
mov ecx, dword [esi + 0x210]
mov eax, dword [esi + 0x214]
mov edx, ecx
or edx, eax
je 0x1001c09f
mov edx, dword [esi + 0x4e4]
cmp edx, eax
jg case.0x1001b967.1
jl 0x1001c09f
mov eax, dword [esi + 0x4e0]
cmp eax, ecx
jae case.0x1001b967.1
mov eax, 0xd
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x1001c12e
jg 0x1001c0cc
cmp ecx, ebx
jbe 0x1001c12e
mov edx, dword [esi + 0x4ec]
cmp edx, eax
jl 0x1001c12e
jg 0x1001c0e2
mov eax, dword [esi + 0x4e8]
cmp eax, ecx
jbe 0x1001c12e
mov eax, 0xe
mov ecx, esi
call fcn.1001a190
mov eax, dword [esi + 0x2b8]
cmp eax, ebx
jne 0x1001c0fd
mov eax, 0x4000
mov ecx, dword [esi + 0x4ec]
mov edx, dword [esi + 0x4e8]
push eax
mov eax, dword [esi + 0x20c]
push ecx
mov ecx, dword [esi + 0x208]
push edx
push eax
push ecx
call fcn.1002aa20
push eax
push esi
call fcn.1001ae10
add esp, 0x1c
jmp case.0x1001b967.1
mov eax, dword [esi + 0x214]
cmp eax, ebx
mov ecx, dword [esi + 0x210]
jl 0x1001c191
jg 0x1001c144
cmp ecx, ebx
jbe 0x1001c191
mov edx, dword [esi + 0x4e4]
cmp edx, eax
jl 0x1001c191
jg 0x1001c15a
mov eax, dword [esi + 0x4e0]
cmp eax, ecx
jbe 0x1001c191
mov eax, 0xe
mov ecx, esi
call fcn.1001a190
mov eax, dword [esi + 0x2b8]
cmp eax, ebx
jne 0x1001c175
mov eax, 0x4000
mov ecx, dword [esi + 0x4e4]
mov edx, dword [esi + 0x4e0]
push eax
mov eax, dword [esi + 0x214]
push ecx
mov ecx, dword [esi + 0x210]
jmp 0x1001c117
mov eax, dword [edi]
lea edx, [esp + 0x20]
push edx
push eax
call fcn.1002a680
add esp, 8
mov dword [esi + 0x10], eax
test byte [esi + 0xf8], 1
jne 0x1001c1b5
mov ecx, dword [edi]
mov dword [ecx + 0x280], ebx
test byte [esi + 0xf8], 2
jne 0x1001c1c6
mov edx, dword [edi]
mov dword [edx + 0x284], ebx
cmp dword [esp + 0x20], ebx
jne 0x1001c1d2
cmp dword [esi + 0x10], 0x38
jne 0x1001c200
mov ecx, dword [edi]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.1002b170
add esp, 8
test eax, eax
jne 0x1001c200
xor edx, edx
cmp dword [esp + 0x18], ebx
setne dl
mov ebp, edx
cmp ebp, ebx
je 0x1001c200
mov dword [esi + 0x10], ebx
mov dword [esp + 0x20], 1
cmp dword [esi + 0x10], ebx
je 0x1001c24c
mov eax, dword [edi]
mov ecx, dword [eax + 0x240]
test byte [ecx + 0x40], 2
jne 0x1001c21d
mov dword [eax + 0x1cc], 1
push esi
call fcn.10001010
mov edx, dword [esi + 0x10]
push ebx
push edx
push edi
call fcn.10030890
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp eax, ebx
je case.0x1001b967.1
push eax
call dword [0x1005100c]
add esp, 4
jmp case.0x1001b967.1
cmp dword [esp + 0x20], ebx
je 0x1001c231
push esi
call fcn.10001010
mov eax, dword [edi]
mov ecx, dword [eax + 0x28c]
push ecx
push esi
call fcn.1002ba60
mov edx, dword [edi]
mov eax, dword [edx + 0x28c]
add esp, 0xc
cmp dword [eax], ebx
je 0x1001c285
mov eax, dword [eax]
mov ecx, dword [eax]
push 1
push ecx
call fcn.1001ae10
add esp, 8
mov edx, dword [esp + 0x38]
push edx
call fcn.1001af70
mov eax, dword [esi + 0x10c]
add esp, 4
cmp eax, ebx
jne 0x1001c304
cmp ebp, ebx
jne 0x1001c319
cmp dword [esi + 0x108], ebx
je 0x1001c2eb
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1001c2ba
push eax
call dword [0x1005100c]
add esp, 4
mov eax, dword [esi + 0x108]
push 1
push eax
push esi
mov dword [esp + 0x24], eax
mov dword [esi + 0x108], ebx
call fcn.1002ae80
add esp, 0xc
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001c2e3
mov dword [esp + 0x18], ebx
jmp 0x1001c2eb
mov dword [esp + 0x10], 1
mov eax, 0xf
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], 0xffffffff
jmp 0x1001c231
cmp ebp, ebx
jne 0x1001c319
mov dword [esp + 0x18], eax
mov dword [esi + 0x10c], ebx
mov ebp, 3
jmp 0x1001c31e
mov ebp, 2
push ebx
push ebx
push edi
call fcn.10030890
add esp, 0xc
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001c231
mov eax, dword [esp + 0x18]
push ebp
push eax
push esi
call fcn.1002ae80
add esp, 0xc
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x1001c231
mov eax, 2
mov ecx, esi
call fcn.1001a190
mov dword [esp + 0xc], 0xffffffff
jmp case.0x1001b967.1
mov eax, dword [edi]
mov dword [esp + 0xc], ebp
cmp eax, ebx
je 0x1001c3a1
mov ecx, dword [eax + 0x28c]
push ecx
push esi
call fcn.1002ba60
mov edx, dword [esp + 0x40]
push edx
call fcn.1001af70
mov eax, dword [esi + 0x10]
push ebx
push eax
push edi
call fcn.10030890
add esp, 0x18
cmp dword [esi + 0x10], ebx
jne 0x1001c39b
mov dword [esi + 0x10], eax
cmp dword [edi], ebx
je 0x1001c3a1
mov dword [edi], ebx
cmp dword [esi + 0x444], ebx
je 0x1001c3bd
cmp dword [esi + 0x86f0], 6
je 0x1001c3bd
xor eax, eax
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
mov eax, 0x10
mov ecx, esi
call fcn.1001a190
jmp case.0x1001b967.1
push ebx
push esi
mov dword [edi], ebx
call fcn.1001ac70
add esp, 8
mov ecx, dword [esi + 0xc]
cmp ecx, 0x10
jge 0x1001c45d
mov eax, dword [edi]
cmp dword [esi + 0x10], ebx
je 0x1001c499
mov dword [esi + 0x86b0], ebx
cmp eax, ebx
je 0x1001c443
mov dword [eax + 0x284], ebx
mov ecx, dword [edi]
mov dword [ecx + 0x280], ebx
mov edx, dword [edi]
mov eax, dword [edx + 0x288]
push eax
push esi
call fcn.1002ba60
mov ecx, dword [edi]
mov edx, dword [ecx + 0x28c]
push edx
push esi
call fcn.1002ba60
mov eax, dword [esp + 0x48]
push eax
call fcn.1001af70
add esp, 0x14
cmp dword [esp + 0x10], ebx
je 0x1001c451
mov ecx, dword [edi]
push ebx
push ecx
call fcn.1002fc30
add esp, 8
mov dword [edi], ebx
jmp 0x1001c451
cmp ecx, 2
jne 0x1001c451
push esi
call fcn.10001010
add esp, 4
mov eax, 0x10
mov ecx, esi
call fcn.1001a190
mov ebp, dword [esp + 0xc]
cmp dword [esi + 0xc], 0x10
jne 0x1001c490
lea ecx, [esi + 0x14]
mov dword [ecx], 1
mov dword [ecx + 4], esi
mov eax, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
call fcn.1001a290
mov ebp, eax
mov eax, 0x11
mov ecx, esi
call fcn.1001a190
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x28
ret
cmp eax, ebx
je 0x1001c45d
push eax
call fcn.1001ff60
add esp, 4
test eax, eax
je 0x1001c45d
mov edx, dword [edi]
xor eax, eax
mov dword [esi + 0x10], 0x2a
mov dword [edx + 0x1cc], 1
cmp dword [esi + 0xc], 0xf
mov ecx, esi
setge al
add eax, 0xf
call fcn.1001a190
or ebp, 0xffffffff
jmp 0x1001c461
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
pop ebp
mov eax, 2
pop ebx
add esp, 0x28
ret