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

Disassembly:
sub esp, 0x5c
mov eax, dword [0x10098688]
xor eax, esp
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x60]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
push esi
push edi
lea esi, [esp + 0x74]
lea edi, [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x18], ecx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edx
mov ebp, edx
test ebx, ebx
je 0x10029f51
cmp dword [ebx + 0x4bf0], 0xc0dedbad
jne 0x10029f51
mov edi, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
cmp dword [ebx + 0x4ab8], edx
je 0x100291b6
push dword [ebx + 0x4ac0]
push ebx
push str.Pipe_broke:_handle__p__url___s_n
push ebx
call fcn.100346c5
add esp, 0x10
cmp dword [ebx + 0x24], 0x11
jge 0x100291a6
push 2
push ebx
call fcn.10028c0c
pop ecx
pop ecx
or ecx, 0xffffffff
xor edx, edx
mov edi, ecx
mov ebp, edx
jmp 0x100291a8
xor edx, edx
mov dword [ebx + 0x4ab8], edx
mov dword [ebx + 8], edx
jmp 0x10029f16
lea esi, [ebx + 8]
cmp dword [esi], edx
jne 0x100291cd
cmp dword [ebx + 0x24], 2
jle 0x100291cd
cmp dword [ebx + 0x24], 0x10
jl 0x10029f35
mov eax, dword [ecx + 0x7c]
mov dword [ecx + 0x7c], edx
test eax, eax
je 0x100291e0
push ecx
call fcn.10028171
pop ecx
xor edx, edx
mov eax, dword [esi]
test eax, eax
je 0x100291f4
cmp dword [ebx + 0x24], 2
jle 0x100291f4
cmp dword [ebx + 0x24], 0x11
jge 0x100291f4
mov dword [eax], ebx
cmp dword [esi], edx
je 0x10029366
cmp dword [ebx + 0x24], 2
jl 0x10029366
cmp dword [ebx + 0x24], 0x11
jge 0x10029366
xor eax, eax
cmp dword [ebx + 0x24], 8
setle al
push eax
lea eax, [esp + 0x5c]
push eax
push ebx
call fcn.10035596
add esp, 0xc
test edx, edx
jg 0x10029364
jl 0x1002923c
xor edx, edx
cmp eax, edx
jae 0x10029366
cmp dword [ebx + 0x24], 3
lea esi, [ebx + 0x670]
jne 0x1002926c
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [esp + 0x78]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b97f
push edx
push eax
push str.Resolving_timed_out_after__ld_milliseconds
jmp 0x10029294
cmp dword [ebx + 0x24], 4
jne 0x100292a2
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [esp + 0x78]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b97f
push edx
push eax
push str.Connection_timed_out_after__ld_milliseconds
push ebx
call fcn.10034609
add esp, 0x30
jmp 0x10029331
mov eax, dword [ebx + 0x70]
and eax, dword [ebx + 0x74]
or ecx, 0xffffffff
cmp eax, ecx
je 0x100292f4
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [esp + 0x88]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b97f
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebx
call fcn.10034609
add esp, 0x20
jmp 0x10029331
push dword [ebx + 0x94]
push dword [ebx + 0x90]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [esp + 0x80]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b97f
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push ebx
call fcn.10034609
add esp, 0x18
cmp dword [ebx + 0x24], 9
lea esi, [ebx + 8]
jle 0x1002934e
push 2
push dword [esi]
call fcn.10034e1b
xor eax, eax
pop ecx
inc eax
pop ecx
mov dword [esp + 0x14], eax
jmp 0x10029351
xor eax, eax
inc eax
push 0x1c
pop ebp
push eax
push ebp
push esi
call fcn.10028d94
add esp, 0xc
jmp 0x10029a6f
xor edx, edx
mov eax, dword [ebx + 0x24]
cmp eax, 0x12
ja case.default.0x10029372
jmp dword [eax*4 + 0x10029f6a]
push ebx
call fcn.100371e0
mov ebp, eax
pop ecx
test ebp, ebp
jne case.0x10029372.1
push 2
push ebx
call fcn.10028c0c
xor eax, eax
inc eax
push eax
push ebx
call fcn.1003d282
add esp, 0x10
or ecx, 0xffffffff
mov edi, ecx
jmp case.0x10029372.1
push 2
push ebx
call fcn.1003d282
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x5c]
push eax
push esi
push ebx
call fcn.1002db47
mov ebp, eax
add esp, 0x18
cmp ebp, 0x59
jne 0x100293f5
xor eax, eax
inc eax
push eax
push ebx
call fcn.10028c0c
lea eax, [ebx + 0xc]
push eax
mov eax, dword [esp + 0x24]
push ebx
push dword [eax + 0x28]
add eax, 0x24
push eax
call fcn.100387e3
add esp, 0x18
xor ebp, ebp
jmp case.0x10029372.1
test ebp, ebp
jne case.0x10029372.1
push dword [esi]
push ebx
call fcn.1003df29
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
je 0x10029419
xor edx, edx
inc edx
mov dword [esp + 0x14], edx
jmp case.0x10029372.1
cmp dword [esp + 0x50], 0
je 0x10029424
push 3
jmp 0x10029465
or ecx, 0xffffffff
cmp dword [esp + 0x24], 0
mov edi, ecx
je 0x10029453
xor eax, eax
inc eax
push eax
push dword [esp + 0x1c]
call fcn.100281b8
neg eax
sbb eax, eax
add eax, 9
push eax
push ebx
call fcn.10028c0c
add esp, 0x10
jmp case.0x10029372.1
push dword [esi]
call fcn.10036b7a
pop ecx
test eax, eax
jne 0x10029612
push 4
push ebx
call fcn.10028c0c
pop ecx
pop ecx
jmp case.0x10029372.1
mov ebp, dword [esi]
mov dword [esp + 0x10], edx
cmp dword [ebp + 0x3d8], edx
je 0x10029488
mov eax, dword [ebp + 0xe4]
jmp 0x1002949e
cmp dword [ebp + 0x3cc], edx
je 0x10029498
mov eax, dword [ebp + 0xb4]
jmp 0x1002949e
mov eax, dword [ebp + 0xa0]
push dword [ebp + 0xfc]
mov dword [esp + 0x2c], eax
push eax
push ebp
call fcn.1002c03c
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x100294e3
push dword [esp + 0x28]
mov dword [ebp + 0x69c], eax
xor eax, eax
inc eax
push 0x10081838
mov dword [ebp + 0x6a0], eax
push ebx
xor ebp, ebp
call fcn.100346c5
add esp, 0xc
cmp dword [esp + 0x10], ebp
jne 0x100294f3
lea eax, [esp + 0x10]
push eax
push dword [esi]
call fcn.1002bb15
pop ecx
pop ecx
mov ebp, eax
push ebx
push dword [esp + 0x1c]
call fcn.1002a098
cmp dword [esp + 0x18], 0
pop ecx
pop ecx
je 0x10029549
lea eax, [esp + 0x24]
push eax
push dword [esi]
call fcn.10038d2e
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
je 0x1002951f
and dword [esi], 0
jmp 0x10029549
or ecx, 0xffffffff
cmp dword [esp + 0x24], 0
mov edi, ecx
jne 0x10029430
push dword [esi]
call fcn.10036b7a
pop ecx
test eax, eax
jne 0x10029612
push 4
push ebx
call fcn.10028c0c
pop ecx
pop ecx
test ebp, ebp
je case.0x10029372.1
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
jmp case.0x10029372.1
lea eax, [esp + 0x24]
push eax
push dword [esi]
call fcn.1003a7c2
mov ebp, eax
mov eax, dword [esi]
pop ecx
cmp dword [eax + 0x428], 0
pop ecx
je 0x10029597
xor ebp, ebp
push ebp
or ecx, 0xffffffff
push ebp
push esi
mov edi, ecx
call fcn.10028d94
push 2
push ebx
call fcn.10028c0c
add esp, 0x14
jmp case.0x10029372.1
test ebp, ebp
jne case.0x10029372.1
cmp dword [eax + 0xf0], 2
jne 0x100295b4
cmp dword [eax + 0x444], ebp
je case.0x10029372.1
push eax
call fcn.10036b39
pop ecx
test eax, eax
je case.0x10029372.1
or ecx, 0xffffffff
mov edi, ecx
push 6
jmp 0x10029465
lea eax, [esp + 0x54]
push eax
push edx
push dword [esi]
call fcn.10034f8d
add esp, 0xc
cmp dword [esp + 0x54], 0
mov ebp, eax
je 0x10029549
test ebp, ebp
jne 0x10029551
mov eax, dword [esi]
cmp dword [eax + 0xf0], 2
jne 0x10029607
cmp dword [eax + 0x444], ebp
je 0x10029612
push eax
call fcn.10036b7a
pop ecx
test eax, eax
je 0x10029619
push 5
jmp 0x10029465
mov eax, dword [esi]
or ecx, 0xffffffff
mov eax, dword [eax + 0x404]
neg eax
sbb eax, eax
add eax, 6
mov edi, ecx
push eax
jmp 0x10029465
lea eax, [esp + 0x24]
push eax
push dword [esi]
call fcn.1002e2fa
cmp dword [esp + 0x2c], 0
pop ecx
pop ecx
mov ebp, eax
jne 0x10029651
push 7
jmp 0x10029465
test ebp, ebp
jne 0x10029675
xor eax, eax
inc eax
push eax
push dword [esp + 0x1c]
call fcn.100281b8
neg eax
sbb eax, eax
add eax, 9
push eax
push ebx
call fcn.10028c0c
jmp 0x1002939c
push ebx
call fcn.1002ca04
xor eax, eax
inc eax
push eax
push ebp
push esi
call fcn.10028d94
add esp, 0x10
jmp 0x10029551
lea eax, [esp + 0x24]
push eax
push dword [esi]
call fcn.1002e3a3
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jne 0x10029675
cmp dword [esp + 0x24], eax
je case.0x10029372.1
jmp 0x10029655
push dword [esi]
push ebx
call fcn.1003e005
pop ecx
pop ecx
test eax, eax
je case.0x10029372.1
push 9
push ebx
call fcn.10028c0c
pop ecx
pop ecx
jmp 0x1002939f
cmp dword [ebx + 0x438], edx
je 0x100296f1
push edx
push dword [esi]
call fcn.10034e1b
push 0x10
push ebx
call fcn.10028c0c
add esp, 0x10
xor ebp, ebp
jmp 0x1002939f
lea eax, [esp + 0x38]
push eax
push esi
call fcn.10028d17
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jne 0x10029765
cmp dword [esp + 0x38], eax
jne 0x10029740
xor ecx, ecx
cmp dword [ebx + 0x55c], ecx
je 0x1002973c
mov eax, dword [ebx + 0x4b18]
cmp eax, 7
je 0x10029724
cmp eax, 5
jne 0x1002973c
push ecx
push ecx
push esi
call fcn.10028d94
push 0x10
push ebx
call fcn.10028c0c
add esp, 0x14
jmp 0x1002939f
push 0xa
jmp 0x1002974d
mov eax, dword [esi]
cmp dword [eax + 0x3f0], 0
je 0x1002975c
push 0xb
push ebx
call fcn.10028c0c
pop ecx
pop ecx
xor edi, edi
jmp case.0x10029372.1
push 0xc
pop eax
push eax
jmp 0x100296c2
cmp ebp, 0x37
jne 0x10029811
mov eax, dword [esi]
xor ecx, ecx
cmp dword [eax + 0x3c8], ecx
je 0x10029811
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.100377a8
pop ecx
pop ecx
test eax, eax
je 0x100297a2
mov ebp, eax
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
jmp 0x100297af
xor eax, eax
cmp dword [esp + 0x10], eax
setne al
mov dword [esp + 0x20], eax
push ebx
call fcn.1002ca04
push 0
push ebp
push esi
call fcn.10028d94
add esp, 0x10
cmp dword [esp + 0x20], 0
je 0x10029805
test eax, eax
je 0x100297d8
cmp eax, 0x37
je 0x100297d8
mov ebp, eax
jmp 0x10029def
push 2
push dword [esp + 0x14]
push ebx
call fcn.10036f15
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x10029def
push 2
push ebx
call fcn.10028c0c
pop ecx
pop ecx
or ecx, 0xffffffff
mov edi, ecx
jmp 0x10029def
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
jmp 0x10029def
push ebx
call fcn.1002ca04
cmp dword [esi], 0
pop ecx
je 0x10029551
push 0
push ebp
push esi
call fcn.10028d94
add esp, 0xc
jmp 0x10029551
lea eax, [esp + 0x38]
push eax
push dword [esi]
call fcn.1002e3dc
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jne 0x10029866
cmp dword [esp + 0x38], eax
je case.0x10029372.1
mov eax, dword [esi]
push 0xc
mov eax, dword [eax + 0x3f0]
neg eax
sbb eax, eax
pop ecx
add eax, ecx
jmp 0x1002975f
push ebx
call fcn.1002ca04
push 0
jmp 0x1002967f
mov edx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, dword [edx + 0x470]
xor ebp, ebp
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], edx
test eax, eax
je 0x100298b7
lea ecx, [esp + 0x30]
push ecx
push edx
call eax
xor edx, edx
pop ecx
mov ebp, eax
inc edx
pop ecx
mov ecx, dword [esp + 0x30]
test ebp, ebp
jne 0x10029866
cmp ecx, edx
jne 0x100298ba
push dword [esp + 0x2c]
call fcn.10028bb8
pop ecx
mov ecx, dword [esp + 0x30]
xor edx, edx
inc edx
test ebp, ebp
jne 0x10029866
test ecx, ecx
je 0x10029755
push 0xa
pop eax
cmp ecx, edx
push 0xc
pop ecx
cmove eax, ecx
jmp 0x1002975f
push dword [esi]
push ebx
call fcn.1003df6f
push dword [esp + 0x20]
call fcn.10028171
mov eax, dword [esi]
or edi, 0xffffffff
add esp, 0xc
cmp dword [eax + 0x47c], edi
jne 0x10029906
cmp dword [eax + 0x480], edi
jne 0x10029906
push 0x10
jmp 0x10029465
push 0xd
jmp 0x10029465
push dword [esi]
push ebx
call fcn.1003dfc8
pop ecx
pop ecx
test eax, eax
je case.0x10029372.1
push 0xe
jmp 0x100296c2
push dword [esi]
call fcn.1003d3d6
pop ecx
test eax, eax
je 0x1002993a
push 0x2a
pop ebp
jmp case.0x10029372.1
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call fcn.1003de35
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x10029a6c
mov ecx, dword [ebx + 0x244]
mov eax, dword [ebx + 0x240]
xorps xmm0, xmm0
movlpd qword [esp + 0x48], xmm0
test ecx, ecx
jl 0x100299be
jg 0x10029979
test eax, eax
je 0x100299be
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
push ecx
lea esi, [ebx + 0x6a0]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 0x6b4]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x6b0]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5fc]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f8]
call fcn.1003cf36
cdq
add esp, 0x38
mov dword [esp + 0x20], edx
jmp 0x100299ca
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 0x24c]
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x248]
movlpd qword [esp + 0x40], xmm0
test ecx, ecx
jl 0x10029a2e
jg 0x100299ed
test eax, eax
je 0x10029a2e
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
push ecx
lea esi, [ebx + 0x6b8]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 0x6cc]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x6c8]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f4]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f0]
call fcn.1003cf36
add esp, 0x38
cdq
jmp 0x10029a36
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
test esi, esi
jg 0x10029af0
jl 0x10029a50
test ecx, ecx
jne 0x10029af0
test edx, edx
jg 0x10029af0
jl 0x10029a62
test eax, eax
jne 0x10029af0
push 0xe
push ebx
call fcn.10028c0c
pop ecx
pop ecx
lea esi, [ebx + 8]
mov edi, dword [esp + 0x1c]
cmp dword [ebx + 0x24], 0x11
jge 0x10029ee4
test ebp, ebp
je 0x10029ea8
push dword [esp + 0x18]
and dword [ebx + 0x4ab8], 0
call fcn.10028171
cmp dword [esi], 0
pop ecx
je 0x10029e8f
push dword [esi]
call fcn.1003e04e
push dword [esi]
call fcn.1003e042
mov eax, dword [esi]
add eax, 0x4e8
push eax
push ebx
call fcn.1002e438
mov eax, dword [esi]
add eax, 0x4f8
push eax
push ebx
call fcn.1002e438
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x10029e9c
xor eax, eax
cmp ebp, 0x1c
sete al
push eax
push dword [esi]
call fcn.1002dcab
and dword [esi], 0
pop ecx
jmp 0x10029e9b
cmp esi, edx
jl 0x10029b0c
jg 0x10029afa
cmp ecx, eax
jb 0x10029b0c
push 9
push esi
push ecx
push ebx
call fcn.10027ddc
add esp, 0x10
jmp 0x10029a6c
push 9
push edx
push eax
jmp 0x10029afe
mov ecx, dword [ebx + 0x244]
mov eax, dword [ebx + 0x240]
xorps xmm0, xmm0
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], edx
movlpd qword [esp + 0x48], xmm0
cmp ecx, edx
jl 0x10029b84
jg 0x10029b3d
cmp eax, edx
jbe 0x10029b84
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
push ecx
lea esi, [ebx + 0x6a0]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 0x6b4]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x6b0]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5fc]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f8]
call fcn.1003cf36
cdq
add esp, 0x38
mov dword [esp + 0x20], edx
xor edx, edx
jmp 0x10029b90
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 0x24c]
xorps xmm0, xmm0
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x248]
movlpd qword [esp + 0x40], xmm0
cmp ecx, edx
jl 0x10029bfa
jg 0x10029bb3
cmp eax, edx
jbe 0x10029bfa
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
push ecx
lea esi, [ebx + 0x6b8]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 0x6cc]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x6c8]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f4]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x5f0]
call fcn.1003cf36
cdq
add esp, 0x38
mov edi, edx
mov esi, eax
xor edx, edx
jmp 0x10029c02
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
cmp dword [esp + 0x20], edx
jg 0x10029dfe
jl 0x10029c18
cmp dword [esp + 0x28], edx
ja 0x10029dfe
cmp edi, edx
jg 0x10029dfe
jl 0x10029c2a
cmp esi, edx
ja 0x10029dfe
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x38]
push eax
lea esi, [ebx + 8]
push ebx
push dword [esi]
call fcn.1003747d
add esp, 0x10
test byte [ebx + 0x134], 1
mov ebp, eax
jne 0x10029c55
push dword [esi]
call fcn.1003e042
pop ecx
test byte [ebx + 0x134], 2
jne 0x10029c66
push dword [esi]
call fcn.1003e04e
pop ecx
cmp dword [esp + 0x34], 0
jne 0x10029c72
cmp ebp, 0x38
jne 0x10029c9e
lea eax, [esp + 0x10]
push eax
push dword [esi]
call fcn.100377a8
pop ecx
pop ecx
test eax, eax
jne 0x10029c9e
cmp dword [esp + 0x10], eax
setne al
xor edi, edi
mov dword [esp + 0x3c], eax
test eax, eax
je 0x10029ca0
xor ebp, ebp
inc edi
mov dword [esp + 0x34], edi
jmp 0x10029ca1
xor edi, edi
inc edi
test ebp, ebp
je 0x10029cdc
mov ecx, dword [esi]
mov eax, dword [ecx + 0x470]
test byte [eax + 0x44], 2
jne 0x10029cc2
cmp ebp, 0x5c
je 0x10029cc2
push 2
push ecx
call fcn.10034e1b
pop ecx
pop ecx
push ebx
call fcn.1002ca04
push edi
push ebp
push esi
call fcn.10028d94
add esp, 0x10
mov edi, dword [esp + 0x1c]
jmp 0x10029def
cmp dword [esp + 0x34], 0
je 0x10029de0
push ebx
call fcn.1002ca04
mov eax, dword [esi]
add eax, 0x4f8
push eax
push ebx
call fcn.1002e438
mov eax, dword [esi]
add esp, 0xc
mov eax, dword [eax + 0x4f8]
test eax, eax
je 0x10029d1a
push 6
push 0
push 0
push dword [eax]
call fcn.10027ddc
add esp, 0x10
push dword [esp + 0x18]
call fcn.10028171
cmp dword [ebx + 0x148], 0
pop ecx
jne 0x10029d76
cmp dword [esp + 0x3c], 0
jne 0x10029d9d
cmp dword [ebx + 0x144], 0
je 0x10029d72
push dword [esp + 0x10]
call dword [0x10098344]
mov eax, dword [ebx + 0x144]
and dword [ebx + 0x144], 0
push edi
push eax
push ebx
mov dword [esp + 0x20], eax
call fcn.10036f15
mov ebp, eax
mov eax, dword [esp + 0x24]
add esp, 0x10
test ebp, ebp
cmovne eax, edi
mov dword [esp + 0x14], eax
push 0x10
jmp 0x10029dd1
cmp dword [esp + 0x3c], 0
jne 0x10029d9d
push dword [esp + 0x10]
call dword [0x10098344]
mov eax, dword [ebx + 0x148]
and dword [ebx + 0x148], 0
pop ecx
mov dword [esp + 0x10], eax
push 3
jmp 0x10029d9f
push 2
pop edi
push 0
push 0
push esi
call fcn.10028d94
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x10029cd3
push edi
push dword [esp + 0x14]
push ebx
call fcn.10036f15
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x10029cd3
push 2
push ebx
call fcn.10028c0c
pop ecx
pop ecx
or ecx, 0xffffffff
mov edi, ecx
jmp 0x10029def
cmp dword [esp + 0x2c], 0
mov edi, dword [esp + 0x1c]
push 0xffffffffffffffff
pop ecx
cmovne edi, ecx
push dword [esp + 0x10]
call dword [0x10098344]
jmp 0x1002946c
push 0xf
push ebx
call fcn.10028c0c
pop ecx
pop ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jl 0x10029e22
mov eax, dword [esp + 0x28]
jg 0x10029e1a
cmp eax, esi
jb 0x10029e22
push 9
push ecx
jmp 0x10029b0f
push 9
push edi
push esi
jmp 0x10029afe
mov eax, dword [esi]
or ecx, 0xffffffff
mov edi, ecx
test eax, eax
je 0x10029e64
add eax, 0x4f8
push eax
push ebx
call fcn.1002e438
push dword [esp + 0x20]
call fcn.10028171
push 0
push ebp
push esi
call fcn.10028d94
add esp, 0x18
test ebp, ebp
cmove ebp, eax
xor edx, edx
cmp dword [esi], edx
je 0x10029e64
mov dword [esi], edx
cmp dword [ebx + 0x55c], edx
je 0x10029e7b
cmp dword [ebx + 0x4b18], 7
je 0x10029e7b
push edx
jmp 0x10029465
push 0x11
jmp 0x10029465
push ebx
mov dword [esi], edx
call fcn.10027f24
jmp 0x1002946c
cmp dword [ebx + 0x24], 2
jne 0x10029e9c
push ebx
call fcn.1002ca04
pop ecx
push 0x11
push ebx
call fcn.10028c0c
pop ecx
pop ecx
jmp 0x10029ee0
cmp dword [esi], 0
je 0x10029ee0
push dword [esi]
call fcn.1003d3d6
pop ecx
test eax, eax
je 0x10029ee0
push 0x2a
pop ebp
push 2
push dword [esi]
call fcn.10034e1b
xor eax, eax
cmp dword [ebx + 0x24], 0x10
setge al
add eax, 0x10
push eax
push ebx
call fcn.10028c0c
add esp, 0x10
or eax, 0xffffffff
mov edi, eax
cmp dword [ebx + 0x24], 0x11
jne 0x10029f14
lea eax, [ebx + 0x2c]
push eax
xor ecx, ecx
push eax
inc ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov eax, dword [esp + 0x20]
add eax, 0x14
push dword [eax + 4]
push eax
call fcn.100387e3
push 0x12
push ebx
xor edi, edi
call fcn.10028c0c
add esp, 0x18
xor edx, edx
mov ecx, dword [esp + 0x18]
or eax, 0xffffffff
cmp edi, eax
je 0x10029164
cmp dword [ecx + 0x7c], edx
jne 0x10029164
mov dword [ebx + 0x28], ebp
mov eax, edi
jmp 0x10029f54
push dword [ebx + 0x24]
push str.In_state__d_with_no_easy_conn__bail_out__n
push ebx
call fcn.10034609
add esp, 0xc
push 4
jmp 0x10029f53
mov dword [ebx + 0x28], ebp
xor eax, eax
jmp 0x10029f54
push 2
pop eax
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005c9a6
add esp, 0x5c
ret