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

Disassembly:
sub esp, 0x28
push esi
mov esi, dword [esp + 0x3c]
push edi
xor edi, edi
mov byte [esp + 8], 0
mov byte [esp + 9], 0
mov byte [esp + 0xa], 0
test esi, esi
je 0x41a637
cmp dword [esi + 0x48c8], 0xc0dedbad
jne 0x41a637
mov ecx, dword [esp + 0x34]
push ebx
push ebp
nop dword [eax + eax]
xor ebp, ebp
mov byte [esp + 0x48], 0
cmp byte [esi + 0x479d], 0
je 0x41951a
push dword [esi + 0x47a4]
push esi
push str.Pipe_broke:_handle__p__url___s_n
push esi
call fcn.00426850
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp eax, 0x11
jge 0x419507
cmp eax, 2
je 0x419502
push esi
mov dword [esi + 0xc], 2
call fcn.0042cad0
add esp, 4
or ebp, 0xffffffff
xor edi, edi
mov byte [esi + 0x479d], 0
mov dword [esi + 8], 0
jmp 0x41a5ea
cmp dword [esi + 8], ebp
lea ebx, [esi + 8]
jne 0x419533
mov eax, dword [esi + 0xc]
cmp eax, 2
jle 0x419533
cmp eax, 0x10
jl 0x41a60e
mov al, byte [ecx + 0x7c]
mov byte [ecx + 0x7c], 0
test al, al
je 0x419547
push ecx
call fcn.00418430
add esp, 4
mov eax, dword [ebx]
mov ecx, eax
test eax, eax
je 0x419560
mov edx, dword [esi + 0xc]
cmp edx, 2
jle 0x419560
cmp edx, 0x11
jge 0x419560
mov dword [eax], esi
mov ecx, dword [ebx]
test ecx, ecx
je 0x4196a9
mov ecx, dword [esi + 0xc]
lea eax, [ecx - 2]
cmp eax, 0xe
ja 0x4196a9
cmp ecx, 8
setle al
movzx eax, al
push eax
lea eax, [esp + 0x44]
push eax
push esi
call fcn.00427c40
add esp, 0xc
test edx, edx
jg 0x4196a9
jl 0x4195a1
test eax, eax
jae 0x4196a9
mov eax, dword [esi + 0xc]
cmp eax, 3
jne 0x4195d7
push dword [esi + 0x584]
push dword [esi + 0x580]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0041c7e0
push edx
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push esi
call fcn.00426770
add esp, 0x20
jmp 0x41967c
cmp eax, 4
jne 0x419607
push dword [esi + 0x584]
push dword [esi + 0x580]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.0041c7e0
push edx
push eax
push str.Connection_timed_out_after__ld_milliseconds
push esi
call fcn.00426770
add esp, 0x20
jmp 0x41967c
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0x54]
and eax, edi
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
cmp eax, 0xffffffff
je 0x41964e
push edi
push dword [esi + 0x50]
push ecx
push edx
push dword [esi + 0x584]
push dword [esi + 0x580]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.0041c7e0
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.00426770
add esp, 0x20
jmp 0x41967c
push ecx
push edx
push dword [esi + 0x584]
push dword [esi + 0x580]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.0041c7e0
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push esi
call fcn.00426770
add esp, 0x18
cmp dword [esi + 0xc], 9
jle 0x419693
push 2
push dword [ebx]
call fcn.004272c0
add esp, 8
mov byte [esp + 0x48], 1
push 1
mov edi, 0x1c
push edi
push ebx
call fcn.00419090
add esp, 0xc
jmp case.0x4196b5.1
mov eax, dword [esi + 0xc]
cmp eax, 0x12
ja case.default.0x4196b5
jmp dword [eax*4 + 0x41a644]
push esi
call fcn.0042cb60
mov edi, eax
add esp, 4
test edi, edi
jne case.0x4196b5.1
cmp dword [esi + 0xc], 2
je 0x4196e5
push esi
mov dword [esi + 0xc], 2
call fcn.0042cad0
add esp, 4
push 1
push esi
call fcn.0042b360
add esp, 8
or ebp, 0xffffffff
jmp case.0x4196b5.1
push 2
push esi
call fcn.0042b360
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x21]
push eax
push ebx
push esi
call fcn.0041e520
mov edi, eax
add esp, 0x18
cmp edi, 0x59
jne 0x41974d
cmp dword [esi + 0xc], 1
je 0x419728
mov dword [esi + 0xc], 1
mov eax, dword [esp + 0x3c]
push esi
push dword [eax + 0x28]
add eax, 0x24
push eax
call fcn.0042e360
add esp, 0xc
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xffffffe5
add edi, 0x1b
jmp case.0x4196b5.1
test edi, edi
jne case.0x4196b5.1
push dword [ebx]
push esi
call fcn.004336b0
mov edi, eax
add esp, 8
test edi, edi
je 0x419770
mov byte [esp + 0x48], 1
jmp case.0x4196b5.1
cmp byte [esp + 0x15], 0
je 0x41979d
cmp dword [esi + 0xc], 3
je case.0x4196b5.1
mov eax, dword [0x49600c]
mov dword [esi + 0xc], 3
test eax, eax
je case.0x4196b5.1
push esi
call eax
jmp 0x41a4af
or ebp, 0xffffffff
cmp byte [esp + 0x10], 0
je 0x4197c5
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x78]
not eax
and eax, 1
add eax, 8
push eax
push esi
call fcn.00418fd0
add esp, 8
jmp case.0x4196b5.1
mov eax, dword [ebx]
mov ecx, dword [esi + 0xc]
cmp dword [eax + 0x690], 1
jne 0x4197f8
cmp ecx, 5
je case.0x4196b5.1
mov eax, dword [0x496014]
mov dword [esi + 0xc], 5
test eax, eax
je case.0x4196b5.1
push esi
call eax
jmp 0x41a4af
cmp ecx, 4
je case.0x4196b5.1
mov eax, dword [0x496010]
mov dword [esi + 0xc], 4
test eax, eax
je case.0x4196b5.1
push esi
call eax
jmp 0x41a4af
mov edi, dword [ebx]
mov dword [esp + 0x18], ebp
cmp byte [edi + 0x36a], 0
je 0x419834
mov eax, dword [edi + 0xdc]
jmp 0x41984b
cmp byte [edi + 0x367], 0
je 0x419845
mov eax, dword [edi + 0xac]
jmp 0x41984b
mov eax, dword [edi + 0x98]
push dword [edi + 0xf4]
mov dword [esp + 0x24], eax
push eax
push edi
call fcn.0041d0a0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x41988e
push dword [esp + 0x20]
mov dword [edi + 0x5c8], eax
push 0x496220
mov byte [edi + 0x5cc], 1
xor edi, edi
push esi
call fcn.00426850
add esp, 0xc
cmp dword [esp + 0x18], edi
jne 0x41989f
lea eax, [esp + 0x18]
push eax
push dword [ebx]
call fcn.0041cbc0
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x3c]
push esi
push eax
call fcn.0041a730
add esp, 8
cmp dword [esp + 0x18], ebp
je 0x4198ca
lea eax, [esp + 0x10]
push eax
push dword [ebx]
call fcn.0042eac0
mov edi, eax
add esp, 8
test edi, edi
je 0x4198dc
mov dword [ebx], ebp
test edi, edi
je case.0x4196b5.1
mov byte [esp + 0x48], 1
jmp case.0x4196b5.1
or ebp, 0xffffffff
cmp byte [esp + 0x10], 0
jne 0x4197a7
mov eax, dword [ebx]
mov ecx, dword [esi + 0xc]
cmp dword [eax + 0x690], 1
je 0x4197d3
cmp ecx, 4
je case.0x4196b5.1
mov eax, dword [0x496010]
mov dword [esi + 0xc], 4
jmp 0x4197e8
lea eax, [esp + 0x10]
push eax
push dword [ebx]
call fcn.004307e0
mov edi, eax
add esp, 8
mov eax, dword [ebx]
cmp byte [eax + 0x37e], 0
je 0x41995e
xor edi, edi
or ebp, 0xffffffff
push edi
push edi
push ebx
call fcn.00419090
add esp, 0xc
cmp dword [esi + 0xc], 2
je case.0x4196b5.1
push esi
mov dword [esi + 0xc], 2
call fcn.0042cad0
jmp 0x41a4af
test edi, edi
jne case.0x4196b5.1
cmp dword [eax + 0xe8], 2
jne 0x41997c
cmp byte [eax + 0x385], 0
je case.0x4196b5.1
cmp dword [eax + 0x690], 1
je case.0x4196b5.1
or ebp, 0xffffffff
cmp dword [esi + 0xc], 6
je case.0x4196b5.1
mov eax, dword [0x496018]
mov dword [esi + 0xc], 6
jmp 0x4197e8
lea eax, [esp + 0x16]
push eax
push 0
push dword [ebx]
call fcn.00427530
add esp, 0xc
mov edi, eax
cmp byte [esp + 0x16], 0
je 0x4198ca
test edi, edi
jne 0x4198d2
mov ecx, dword [ebx]
cmp dword [ecx + 0xe8], 2
jne 0x4199e0
cmp byte [ecx + 0x385], al
je 0x4199e9
cmp dword [ecx + 0x690], 1
jne 0x4199f2
cmp dword [esi + 0xc], 5
jmp 0x4197d6
xor eax, eax
or ebp, 0xffffffff
cmp byte [ecx + 0x375], al
sete al
add eax, 5
push eax
push esi
call fcn.00418fd0
add esp, 8
jmp case.0x4196b5.1
lea eax, [esp + 0x10]
push eax
push dword [ebx]
call fcn.0041efd0
add esp, 8
mov edi, eax
cmp byte [esp + 0x10], 0
jne 0x419a45
cmp dword [esi + 0xc], 7
je case.0x4196b5.1
mov eax, dword [0x49601c]
mov dword [esi + 0xc], 7
jmp 0x4197e8
test edi, edi
jne 0x419a6a
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x78]
not eax
and eax, 1
add eax, 8
push eax
push esi
call fcn.00418fd0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4196b5.1
push esi
call fcn.00406120
push 1
push edi
push ebx
call fcn.00419090
add esp, 0x10
mov byte [esp + 0x48], 1
jmp case.0x4196b5.1
lea eax, [esp + 0x10]
push eax
push dword [ebx]
call fcn.0041f080
mov edi, eax
add esp, 8
test edi, edi
jne 0x419a6a
cmp byte [esp + 0x10], al
je case.0x4196b5.1
jmp 0x419a49
push dword [ebx]
push esi
call fcn.004337b0
add esp, 8
test al, al
je case.0x4196b5.1
cmp dword [esi + 0xc], 9
je 0x419ad6
mov eax, dword [0x496024]
mov dword [esi + 0xc], 9
test eax, eax
je 0x419ad6
push esi
call eax
add esp, 4
or ebp, 0xffffffff
jmp case.0x4196b5.1
cmp byte [esi + 0x369], 0
je 0x419b19
push 0
push dword [ebx]
call fcn.004272c0
add esp, 8
cmp dword [esi + 0xc], 0x10
je 0x419b0f
mov eax, dword [0x496040]
mov dword [esi + 0xc], 0x10
test eax, eax
je 0x419b0f
push esi
call eax
add esp, 4
xor edi, edi
or ebp, 0xffffffff
jmp case.0x4196b5.1
mov ecx, dword [ebx]
xor edi, edi
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x3a0]
mov eax, dword [eax + 8]
test eax, eax
je 0x419c29
lea edx, [esp + 0x11]
push edx
push ecx
call eax
mov edi, eax
add esp, 8
cmp edi, 0x37
jne 0x419c0d
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x366], 0
je 0x419c29
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x40], ebp
jne 0x419c79
mov edi, dword [ebx]
push str.Re_used_connection_seems_dead__get_a_new_one_n
mov dword [esp + 0x34], edi
mov eax, dword [edi]
push eax
mov dword [esp + 0x30], eax
call fcn.00426850
push 1
push edi
call fcn.004272c0
push 0
lea eax, [esp + 0x44]
push 0
push eax
call fcn.00419090
add esp, 0x1c
mov dword [ebx], ebp
test eax, eax
je 0x419ba7
cmp eax, 0x37
jne 0x419beb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 1
push eax
lea eax, [esp + 0x1b]
push eax
push ebx
push dword [esp + 0x34]
call fcn.0041e520
add esp, 0x10
test eax, eax
jne 0x419beb
mov edi, dword [ebx]
cmp byte [esp + 0x17], al
je 0x419beb
push eax
push edi
call fcn.0041cd10
add esp, 8
test eax, eax
jne 0x419beb
lea eax, [esp + 0x13]
push eax
push edi
call fcn.0042eac0
add esp, 8
mov edi, eax
test eax, eax
jne 0x419c29
mov ecx, dword [ebx]
lea edx, [esp + 0x11]
push edx
push ecx
mov dword [esp + 0x28], ecx
mov eax, dword [ecx + 0x3a0]
mov eax, dword [eax + 8]
call eax
add esp, 8
mov edi, eax
test edi, edi
jne 0x419cde
cmp byte [esp + 0x11], 0
je 0x419c29
mov eax, dword [esp + 0x20]
push eax
call fcn.00418f60
add esp, 4
test edi, edi
jne 0x419cde
cmp byte [esp + 0x11], 0
jne 0x419ca3
cmp byte [esi + 0x484], 0
je 0x419c80
mov eax, dword [esi + 0x47f0]
cmp eax, 7
je 0x419c51
cmp eax, 5
jne 0x419c80
push 0
push 0
push ebx
call fcn.00419090
add esp, 0xc
cmp dword [esi + 0xc], 0x10
je 0x419ad6
mov eax, dword [0x496040]
mov dword [esi + 0xc], 0x10
jmp 0x419acc
mov edi, 0x37
jmp 0x419ce7
cmp dword [esi + 0xc], 0xa
je 0x419c9c
mov eax, dword [0x496028]
mov dword [esi + 0xc], 0xa
test eax, eax
je 0x419c9c
push esi
call eax
add esp, 4
xor ebp, ebp
jmp case.0x4196b5.1
mov eax, dword [ebx]
mov ecx, dword [esi + 0xc]
cmp byte [eax + 0x370], 0
je 0x419cc4
cmp ecx, 0xb
je 0x419c9c
mov eax, dword [0x49602c]
mov dword [esi + 0xc], 0xb
jmp 0x419c92
cmp ecx, 0xc
je 0x419ad6
mov eax, dword [0x496030]
mov dword [esi + 0xc], 0xc
jmp 0x419acc
cmp edi, 0x37
jne 0x419d9f
mov eax, dword [ebx]
cmp byte [eax + 0x366], 0
je 0x419d9f
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
push ecx
push eax
mov byte [esp + 0x1b], 0
call fcn.0042d0d0
add esp, 8
test eax, eax
je 0x419d1a
mov edi, eax
mov byte [esp + 0x48], 1
jmp 0x419d23
cmp dword [esp + 0x18], ebp
setne byte [esp + 0x13]
push esi
call fcn.00406120
push 0
push edi
push ebx
call fcn.00419090
add esp, 0x10
cmp byte [esp + 0x13], 0
je 0x419d8b
test eax, eax
je 0x419d56
cmp eax, 0x37
je 0x419d56
mov edi, eax
push dword [esp + 0x18]
call dword [0x4bb03c]
jmp 0x41a4af
push 2
push dword [esp + 0x1c]
push esi
call fcn.0042c830
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x419d47
cmp dword [esi + 0xc], 2
je 0x419d81
push esi
mov dword [esi + 0xc], 2
call fcn.0042cad0
add esp, 4
or ebp, 0xffffffff
xor edi, edi
jmp case.0x4196b5.1
push dword [esp + 0x18]
mov byte [esp + 0x4c], 1
call dword [0x4bb03c]
jmp 0x41a4af
push esi
call fcn.00406120
add esp, 4
cmp dword [ebx], ebp
je 0x419db8
push 0
push edi
push ebx
call fcn.00419090
add esp, 0xc
mov byte [esp + 0x48], 1
jmp case.0x4196b5.1
lea eax, [esp + 0x11]
push eax
push dword [ebx]
call fcn.0041f0c0
mov edi, eax
add esp, 8
test edi, edi
jne 0x419e03
cmp byte [esp + 0x11], al
je case.0x4196b5.1
mov eax, dword [ebx]
xor ecx, ecx
cmp byte [eax + 0x370], cl
sete cl
add ecx, 0xb
push ecx
push esi
call fcn.00418fd0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4196b5.1
push esi
call fcn.00406120
push 0
push edi
push ebx
call fcn.00419090
add esp, 0x10
mov byte [esp + 0x48], 1
jmp case.0x4196b5.1
mov edx, dword [ebx]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
xor edi, edi
mov dword [esp + 0x30], edx
mov eax, dword [edx + 0x3a0]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x419e8b
lea ecx, [esp + 0x1c]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x24]
mov edi, eax
add esp, 8
test edi, edi
jne 0x419e03
cmp ecx, 1
jne 0x419e8b
mov edx, dword [esp + 0x30]
push 6
mov eax, dword [edx]
mov byte [eax + 0x110], 0
mov eax, dword [edx + 0x3b0]
mov ecx, dword [edx + 0x3ac]
cmp ecx, eax
cmovbe ecx, eax
mov eax, dword [edx]
inc ecx
mov dword [eax + 0xf4], ecx
push dword [edx]
call fcn.0042b360
mov ecx, dword [esp + 0x24]
add esp, 8
test edi, edi
jne 0x419e03
test ecx, ecx
je 0x419c9c
xor eax, eax
cmp ecx, 1
sete al
lea eax, [eax*2 + 0xa]
push eax
push esi
call fcn.00418fd0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4196b5.1
push dword [ebx]
push esi
call fcn.00433700
push dword [esp + 0x44]
call fcn.00418430
mov eax, dword [ebx]
add esp, 0xc
cmp dword [eax + 0x3ac], 0xffffffff
jne 0x419ee8
cmp dword [eax + 0x3b0], 0xffffffff
je 0x419c5e
cmp dword [esi + 0xc], 0xd
je 0x419ad6
mov eax, dword [0x496034]
mov dword [esi + 0xc], 0xd
jmp 0x419acc
push dword [ebx]
push esi
call fcn.00433770
add esp, 8
test al, al
je case.0x4196b5.1
cmp dword [esi + 0xc], 0xe
je 0x419ad6
mov eax, dword [0x496038]
mov dword [esi + 0xc], 0xe
jmp 0x419acc
push dword [ebx]
call fcn.0042b4b0
add esp, 4
test eax, eax
je 0x419f49
mov edi, 0x2a
jmp case.0x4196b5.1
push dword [esp + 0x44]
push dword [esp + 0x44]
push esi
call fcn.004335c0
mov edi, eax
add esp, 0xc
test edi, edi
jne case.0x4196b5.1
mov ecx, dword [esi + 0x1f4]
xorps xmm0, xmm0
mov eax, dword [esi + 0x1f0]
movlpd qword [esp + 0x30], xmm0
test ecx, ecx
jl 0x419fc0
jg 0x419f83
test eax, eax
je 0x419fc0
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esi + 0x59c]
push dword [esi + 0x598]
push ecx
push eax
push dword [esi + 0x5a4]
push dword [esi + 0x5a0]
push dword [esi + 0x514]
push dword [esi + 0x510]
call fcn.0042b040
cdq
add esp, 0x28
mov dword [esp + 0x20], edx
jmp 0x419fcc
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x1fc]
xorps xmm0, xmm0
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x1f8]
movlpd qword [esp + 0x28], xmm0
test ecx, ecx
jl 0x41a028
jg 0x419fef
test eax, eax
je 0x41a028
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esi + 0x5ac]
push dword [esi + 0x5a8]
push ecx
push eax
push dword [esi + 0x5b4]
push dword [esi + 0x5b0]
push dword [esi + 0x50c]
push dword [esi + 0x508]
call fcn.0042b040
add esp, 0x28
cdq
jmp 0x41a030
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x20], ebp
jg 0x41a065
jl 0x41a040
test ecx, ecx
jne 0x41a065
test edx, edx
jg 0x41a065
jl 0x41a04a
test eax, eax
jne 0x41a065
cmp dword [esi + 0xc], 0xe
je case.0x4196b5.1
mov eax, dword [0x496038]
mov dword [esi + 0xc], 0xe
jmp 0x4197e8
cmp dword [esp + 0x20], edx
jl 0x41a084
jg 0x41a071
cmp ecx, eax
jb 0x41a084
push dword [esp + 0x20]
push ecx
push esi
call fcn.00418140
add esp, 0xc
jmp case.0x4196b5.1
push edx
push eax
push esi
call fcn.00418140
add esp, 0xc
jmp case.0x4196b5.1
mov ecx, dword [esi + 0x1f4]
xorps xmm0, xmm0
mov eax, dword [esi + 0x1f0]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
movlpd qword [esp + 0x30], xmm0
test ecx, ecx
jl 0x41a0fe
jg 0x41a0c1
test eax, eax
je 0x41a0fe
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esi + 0x59c]
push dword [esi + 0x598]
push ecx
push eax
push dword [esi + 0x5a4]
push dword [esi + 0x5a0]
push dword [esi + 0x514]
push dword [esi + 0x510]
call fcn.0042b040
cdq
add esp, 0x28
mov dword [esp + 0x24], edx
jmp 0x41a10a
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x1fc]
xorps xmm0, xmm0
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x1f8]
movlpd qword [esp + 0x28], xmm0
test ecx, ecx
jl 0x41a166
jg 0x41a12d
test eax, eax
je 0x41a166
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esi + 0x5ac]
push dword [esi + 0x5a8]
push ecx
push eax
push dword [esi + 0x5b4]
push dword [esi + 0x5b0]
push dword [esi + 0x50c]
push dword [esi + 0x508]
call fcn.0042b040
add esp, 0x28
cdq
jmp 0x41a16e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
test ecx, ecx
jg 0x41a3cd
jl 0x41a18e
cmp dword [esp + 0x20], ebp
ja 0x41a3cd
test edx, edx
jg 0x41a3cd
jl 0x41a1a0
test eax, eax
jne 0x41a3cd
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x16]
push eax
push esi
push dword [ebx]
call fcn.0042cdd0
mov edi, eax
add esp, 0x10
mov eax, dword [esi + 0xf8]
test al, 1
jne 0x41a1d1
push dword [ebx]
call fcn.004337f0
mov eax, dword [esi + 0xf8]
add esp, 4
test al, 2
jne 0x41a1df
push dword [ebx]
call fcn.00433800
add esp, 4
cmp byte [esp + 0x12], 0
jne 0x41a1eb
cmp edi, 0x38
jne 0x41a216
lea eax, [esp + 0x18]
push eax
push dword [ebx]
call fcn.0042d0d0
add esp, 8
test eax, eax
jne 0x41a216
mov eax, dword [esp + 0x18]
test eax, eax
setne byte [esp + 0x13]
test eax, eax
je 0x41a216
xor edi, edi
mov byte [esp + 0x12], 1
jmp 0x41a264
test edi, edi
je 0x41a259
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x3a0]
test byte [eax + 0x40], 2
jne 0x41a238
cmp edi, 0x5c
je 0x41a238
push 2
push ecx
call fcn.004272c0
add esp, 8
push esi
call fcn.00406120
push 1
push edi
push ebx
call fcn.00419090
add esp, 0x10
push dword [esp + 0x18]
call dword [0x4bb03c]
jmp 0x41a4af
cmp byte [esp + 0x12], 0
je 0x41a3b1
push esi
call fcn.00406120
mov eax, dword [ebx]
add eax, 0x424
push eax
push esi
call fcn.0041f120
mov eax, dword [ebx]
add esp, 0xc
mov eax, dword [eax + 0x424]
test eax, eax
je 0x41a295
push 0
push 0
push dword [eax]
call fcn.00418140
add esp, 0xc
push dword [esp + 0x3c]
call fcn.00418430
add esp, 4
cmp dword [esi + 0x104], ebp
jne 0x41a321
cmp byte [esp + 0x13], 0
jne 0x41a34f
cmp dword [esi + 0x100], ebp
je 0x41a2f3
push dword [esp + 0x18]
call dword [0x4bb03c]
mov eax, dword [esi + 0x100]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x100], ebp
call fcn.0042c830
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x41a2ee
mov dword [esp + 0x18], ebp
jmp 0x41a2f3
mov byte [esp + 0x48], 1
cmp dword [esi + 0xc], 0x10
je 0x41a30f
mov eax, dword [0x496040]
mov dword [esi + 0xc], 0x10
test eax, eax
je 0x41a30f
push esi
call eax
add esp, 4
push dword [esp + 0x18]
or ebp, 0xffffffff
call dword [0x4bb03c]
jmp 0x41a4af
cmp byte [esp + 0x13], 0
jne 0x41a34f
push dword [esp + 0x18]
call dword [0x4bb03c]
mov eax, dword [esi + 0x104]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0x104], ebp
mov dword [esp + 0x30], 3
jmp 0x41a357
mov dword [esp + 0x30], 2
push 0
push 0
push ebx
call fcn.00419090
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x41a3be
push dword [esp + 0x30]
push dword [esp + 0x1c]
push esi
call fcn.0042c830
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x41a3be
cmp dword [esi + 0xc], 2
je 0x41a397
push esi
mov dword [esi + 0xc], 2
call fcn.0042cad0
add esp, 4
mov dword [esp + 0x18], 0
or ebp, 0xffffffff
push dword [esp + 0x18]
call dword [0x4bb03c]
jmp 0x41a4af
cmp byte [esp + 0x14], 0
mov eax, 0xffffffff
cmovne ebp, eax
push dword [esp + 0x18]
call dword [0x4bb03c]
jmp 0x41a4af
cmp dword [esi + 0xc], 0xf
je 0x41a3ed
mov eax, dword [0x49603c]
mov dword [esi + 0xc], 0xf
test eax, eax
je 0x41a3ed
push esi
call eax
mov ecx, dword [esp + 0x28]
add esp, 4
cmp ecx, dword [esp + 0x30]
jl 0x41a411
mov eax, dword [esp + 0x20]
jg 0x41a41b
mov edx, dword [esp + 0x28]
cmp eax, edx
jb 0x41a415
push ecx
push eax
push esi
call fcn.00418140
add esp, 0xc
jmp case.0x4196b5.1
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov eax, edx
push ecx
push eax
push esi
call fcn.00418140
add esp, 0xc
jmp case.0x4196b5.1
mov eax, dword [ebx]
or ebp, 0xffffffff
test eax, eax
je 0x41a465
add eax, 0x424
push eax
push esi
call fcn.0041f120
push dword [esp + 0x44]
call fcn.00418430
push 0
push edi
push ebx
call fcn.00419090
add esp, 0x18
test edi, edi
cmove edi, eax
cmp dword [ebx], 0
je 0x41a465
mov dword [ebx], 0
cmp byte [esi + 0x484], 0
je 0x41a486
cmp dword [esi + 0x47f0], 7
je 0x41a486
cmp dword [esi + 0xc], 0
je case.0x4196b5.1
mov dword [esi + 0xc], 0
jmp case.0x4196b5.1
cmp dword [esi + 0xc], 0x11
je 0x41a59f
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
mov eax, dword [0x496044]
jmp 0x4197e8
push esi
mov dword [ebx], ebp
call fcn.004180c0
add esp, 4
cmp dword [esi + 0xc], 0x11
jge 0x41a59d
test edi, edi
je 0x41a55f
push dword [esp + 0x3c]
mov byte [esi + 0x479d], 0
call fcn.00418430
mov eax, dword [ebx]
add esp, 4
test eax, eax
je 0x41a52c
push eax
call fcn.00433800
push dword [ebx]
call fcn.004337f0
mov eax, dword [ebx]
add eax, 0x414
push eax
push esi
call fcn.0041f120
mov eax, dword [ebx]
add eax, 0x424
push eax
push esi
call fcn.0041f120
add esp, 0x18
cmp byte [esp + 0x48], 0
je 0x41a53b
cmp edi, 0x1c
sete al
movzx eax, al
push eax
push dword [ebx]
call fcn.0041e830
add esp, 8
mov dword [ebx], 0
jmp 0x41a53b
cmp dword [esi + 0xc], 2
jne 0x41a53b
push esi
call fcn.00406120
add esp, 4
cmp dword [esi + 0xc], 0x11
je 0x41a59f
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
mov eax, dword [0x496044]
test eax, eax
je 0x41a599
push esi
call eax
add esp, 4
jmp 0x41a599
mov eax, dword [ebx]
test eax, eax
je 0x41a599
push eax
call fcn.0042b4b0
add esp, 4
test eax, eax
je 0x41a599
push 2
push dword [ebx]
mov edi, 0x2a
call fcn.004272c0
xor eax, eax
cmp dword [esi + 0xc], 0x10
setge al
add eax, 0x10
push eax
push esi
call fcn.00418fd0
add esp, 0x10
or ebp, 0xffffffff
cmp dword [esi + 0xc], 0x11
jne 0x41a5ea
lea eax, [esi + 0x14]
mov dword [eax], 1
push eax
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov eax, dword [esp + 0x40]
push dword [eax + 0x18]
add eax, 0x14
push eax
call fcn.0042e360
add esp, 0xc
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 0xfffffffd
add ebp, 3
cmp dword [esi + 0xc], 0x12
je 0x41a5ea
mov eax, dword [0x496048]
mov dword [esi + 0xc], 0x12
test eax, eax
je 0x41a5ea
push esi
call eax
add esp, 4
mov ecx, dword [esp + 0x3c]
cmp ebp, 0xffffffff
je 0x4194c0
cmp byte [ecx + 0x7c], 0
jne 0x4194c0
mov eax, ebp
mov dword [esi + 0x10], edi
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x28
ret
push eax
push str.In_state__d_with_no_easy_conn__bail_out__n
push esi
call fcn.00426770
add esp, 0xc
pop ebp
pop ebx
pop edi
mov eax, 4
pop esi
add esp, 0x28
ret
pop ebp
pop ebx
mov dword [esi + 0x10], edi
xor eax, eax
pop edi
pop esi
add esp, 0x28
ret
pop edi
mov eax, 2
pop esi
add esp, 0x28
ret