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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4c]
push edi
xor edi, edi
cmp esi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
je 0x845080
cmp dword [esi + 0x1120], 0xc0dedbad
jne 0x845080
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x50], ebx
jne 0x8442c3
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x8442c3
cmp eax, 0xe
jl 0x845047
mov ebp, dword [esp + 0x44]
push 1
push ebp
call fcn.00845100
add esp, 8
test eax, eax
je 0x8442df
push ebp
call fcn.00845fb0
add esp, 4
mov ecx, dword [esi + 8]
cmp ecx, ebx
je 0x8442f5
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x8442f5
cmp eax, 0xf
jge 0x8442f5
mov dword [ecx], esi
cmp dword [esi + 8], ebx
je 0x844474
mov eax, dword [esi + 0x24]
cmp eax, 2
jl 0x844474
cmp eax, 0xf
jge 0x844474
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push esi
call fcn.0084aa50
add esp, 0xc
cmp edx, ebx
jg 0x844474
jl 0x84433c
cmp eax, ebx
jae 0x844474
mov eax, dword [esi + 0x24]
cmp eax, 3
jne 0x844376
mov eax, dword [esi + 0xcbc]
mov ecx, dword [esi + 0xcb8]
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.0084e520
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push esi
call fcn.00846120
add esp, 0x20
jmp 0x844442
cmp eax, 4
jne 0x8443ad
mov ecx, dword [esi + 0xcbc]
mov edx, dword [esi + 0xcb8]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
push ecx
call fcn.0084e520
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push esi
call fcn.00846120
add esp, 0x20
jmp 0x844442
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x844404
mov edx, dword [esi + 0xcbc]
push ecx
mov ecx, dword [esi + 0x98]
push eax
mov eax, dword [esi + 0x9c]
push eax
mov eax, dword [esi + 0xcb8]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
call fcn.0084e520
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.00846120
add esp, 0x20
jmp 0x844442
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0xcbc]
push eax
mov eax, dword [esi + 0xcb8]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
call fcn.0084e520
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.00846120
add esp, 0x18
cmp dword [esi + 0x24], 8
jle 0x84445e
mov eax, dword [esi + 8]
push 2
push eax
call fcn.0084c1c0
add esp, 8
mov dword [esp + 0x10], 1
mov edi, 0x1c
push 1
push edi
push esi
call fcn.00843800
add esp, 0xc
jmp case.0x844480.1
mov eax, dword [esi + 0x24]
cmp eax, 0x10
ja case.default.0x844480
jmp dword [eax*4 + 0x845090]
push esi
call fcn.0086e670
mov edi, eax
add esp, 4
cmp edi, ebx
jne case.0x844480.1
push 2
push esi
call fcn.00843620
push 1
push esi
call fcn.00853330
add esp, 0x10
mov dword [esp + 0x50], 0xffffffff
jmp case.0x844480.1
push 2
push esi
call fcn.00853330
mov eax, dword [esi + 0x630]
add esp, 8
cmp eax, ebx
je 0x8444dd
cdq
push 9
push edx
push eax
push esi
call fcn.00845ca0
add esp, 0x10
mov eax, dword [esi + 0x634]
cmp eax, ebx
je 0x8444f5
cdq
push 2
push edx
push eax
push esi
call fcn.00845ca0
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
push esi
call fcn.0083fb70
mov edi, eax
add esp, 0xc
cmp edi, 0x59
jne 0x844533
push 1
push esi
call fcn.00843620
mov ecx, dword [ebp + 0x28]
lea eax, [esi + 0xc]
push eax
push esi
add ebp, 0x24
push ecx
push ebp
call fcn.00869c20
add esp, 0x18
xor edi, edi
jmp case.0x844480.1
cmp dword [esi + 0x1024], ebx
je 0x844552
push str.Transfer_was_pending__now_try_another_n
push esi
call fcn.00846060
mov edx, dword [esi + 0x78]
push edx
call fcn.00845fb0
add esp, 0xc
cmp edi, ebx
jne case.0x844480.1
cmp dword [esp + 0x2c], ebx
je 0x844567
push 3
jmp 0x844f22
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x84457e
push 8
jmp 0x844f22
mov eax, dword [esi + 8]
push eax
call fcn.0086fb70
add esp, 4
test eax, eax
je 0x844595
push 5
jmp 0x844f22
push 4
jmp 0x844f22
mov edi, dword [esi + 8]
mov dword [esp + 0x18], ebx
cmp dword [edi + 0x52c], ebx
je 0x8445b3
mov ebp, dword [edi + 0x34c]
jmp 0x8445c9
cmp dword [edi + 0x520], ebx
je 0x8445c3
mov ebp, dword [edi + 0x31c]
jmp 0x8445c9
mov ebp, dword [edi + 0x304]
mov ecx, dword [edi + 0x364]
push ecx
push ebp
push edi
call fcn.0086c350
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x84460b
push ebp
push 0x8b9284
mov dword [edi + 0x764], eax
mov dword [edi + 0x770], 1
push esi
xor edi, edi
call fcn.00846060
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
jne 0x84461e
mov eax, dword [esi + 8]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0086ced0
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x44]
push esi
push ecx
call fcn.00845470
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
je 0x844683
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0086cf30
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x844650
mov dword [esi + 8], ebx
jmp 0x844683
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x844664
push 8
jmp 0x84467a
mov ecx, dword [esi + 8]
push ecx
call fcn.0086fb70
add esp, 4
test eax, eax
je 0x844678
push 5
jmp 0x84467a
push 4
push esi
call fcn.00843620
add esp, 8
cmp edi, ebx
je case.0x844480.1
mov dword [esp + 0x10], 1
jmp case.0x844480.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00866580
mov edi, eax
mov eax, dword [esi + 8]
add esp, 8
cmp dword [eax + 0x570], ebx
je 0x8446d8
push ebx
push ebx
push esi
mov dword [esp + 0x5c], 0xffffffff
xor edi, edi
call fcn.00843800
push 2
push esi
call fcn.00843620
add esp, 0x14
jmp case.0x844480.1
cmp edi, ebx
jne 0x84468b
cmp dword [eax + 0x358], 2
jne 0x8446f1
cmp dword [eax + 0x504], ebx
je case.0x844480.1
push eax
call fcn.0086fb50
add esp, 4
test eax, eax
je case.0x844480.1
mov dword [esp + 0x50], 0xffffffff
push 6
jmp 0x844f22
mov edx, dword [esi + 8]
lea ecx, [esp + 0x30]
push ecx
push ebx
push edx
call fcn.0084ae10
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x844777
cmp edi, ebx
jne 0x84477f
mov eax, dword [esi + 8]
cmp dword [eax + 0x358], 2
jne 0x844745
cmp dword [eax + 0x504], ebx
je 0x844752
push eax
call fcn.0086fb70
add esp, 4
test eax, eax
je 0x844759
push 5
jmp 0x844f22
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
mov ecx, dword [eax + 0x550]
neg ecx
sbb ecx, ecx
add ecx, 6
push ecx
jmp 0x844f22
cmp edi, ebx
je case.0x844480.1
push esi
call fcn.0083e830
push 1
push edi
push esi
call fcn.00843800
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.0x844480.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00845240
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x84477f
cmp dword [esp + 0x14], ebx
jne 0x8447e3
push 7
jmp 0x844f22
mov edx, dword [esi + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.008451c0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x84477f
cmp dword [esp + 0x14], ebx
je case.0x844480.1
push 8
jmp 0x844dcf
cmp dword [esi + 0xbb0], ebx
je 0x844816
mov eax, dword [esi + 8]
push ebx
push eax
call fcn.0084c1c0
push 0xe
push esi
call fcn.00843620
add esp, 0x10
xor edi, edi
mov dword [esp + 0x50], 0xffffffff
jmp case.0x844480.1
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.00845120
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x8448a2
cmp dword [esp + 0x1c], ebx
jne 0x84487c
cmp dword [esi + 0x1008], ebx
je 0x844868
mov eax, dword [esi + 0x1030]
cmp eax, 7
je 0x844848
cmp eax, 5
jne 0x844868
push ebx
push ebx
push esi
call fcn.00843800
push 0xe
push esi
call fcn.00843620
add esp, 0x14
mov dword [esp + 0x50], 0xffffffff
jmp case.0x844480.1
push 9
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x844480.1
mov edx, dword [esi + 8]
cmp dword [edx + 0x544], ebx
je 0x84489b
push 0xa
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x844480.1
push 0xb
jmp 0x844dcf
cmp edi, 0x37
jne 0x844964
mov eax, dword [esi + 8]
cmp dword [eax + 0x518], ebx
je 0x844964
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
push eax
call fcn.0086eb60
add esp, 8
cmp eax, ebx
je 0x8448da
mov edi, eax
mov dword [esp + 0x10], 1
push esi
call fcn.0083e830
push ebx
push edi
push esi
call fcn.00843800
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp ecx, ebx
je 0x844949
cmp eax, ebx
je 0x844911
cmp eax, 0x37
je 0x844911
mov edx, dword [esp + 0x18]
mov edi, eax
push edx
call dword [0x8b8934]
add esp, 4
jmp case.0x844480.1
push 2
push ecx
push esi
call fcn.0086e890
add esp, 0xc
cmp eax, ebx
jne 0x8448fc
push 2
push esi
call fcn.00843620
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x50], 0xffffffff
xor edi, edi
push edx
call dword [0x8b8934]
add esp, 4
jmp case.0x844480.1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push edx
call dword [0x8b8934]
add esp, 4
jmp case.0x844480.1
push esi
call fcn.0083e830
mov eax, dword [esi + 8]
add esp, 4
cmp eax, ebx
je 0x84497f
push ebx
push edi
push esi
call fcn.00843800
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x844480.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.00845200
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x8449f6
cmp dword [esp + 0x1c], ebx
je case.0x844480.1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x544]
neg eax
sbb eax, eax
add eax, 0xb
push eax
jmp 0x844dcf
mov edx, dword [esi + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.00845180
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x8449f6
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x844873
dec eax
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0xb
push eax
jmp 0x844dcf
push esi
call fcn.0083e830
push ebx
jmp 0x844787
mov eax, dword [esi + 8]
cmp dword [eax + 0x57c], ebx
je 0x844a16
push ebp
call fcn.00845fb0
add esp, 4
mov eax, dword [esi + 8]
or ebp, 0xffffffff
cmp dword [eax + 0x5c0], ebp
jne 0x844a60
cmp dword [eax + 0x5c4], ebp
jne 0x844a60
cmp dword [esi + 0x1008], ebx
je 0x844a4c
mov ecx, dword [eax + 0x5a8]
mov eax, dword [ecx + 0x44]
test ah, 0x10
jne 0x844a4c
mov dword [esi + 0x1030], 7
push 0xe
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x844480.1
push 0xc
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x844480.1
mov edx, dword [esi + 8]
push edx
call fcn.008537c0
add esp, 4
test eax, eax
je 0x844a8e
mov edi, 0x2a
jmp case.0x844480.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.0086f8f0
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne case.0x844480.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x3c], ebx
jl 0x844b0b
jg 0x844ac7
cmp ecx, ebx
jbe 0x844b0b
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xcd4]
push edx
mov edx, dword [esi + 0xcd0]
push edx
mov edx, dword [esi + 0xc54]
push eax
mov eax, dword [esi + 0xcdc]
push ecx
mov ecx, dword [esi + 0xcd8]
push eax
mov eax, dword [esi + 0xc50]
push ecx
push edx
push eax
call fcn.00853500
add esp, 0x28
mov ebx, eax
mov dword [esp + 0x3c], edx
mov ecx, dword [esi + 0x66c]
mov ebp, dword [esi + 0x668]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x844b63
jg 0x844b25
test ebp, ebp
jbe 0x844b63
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
mov edx, dword [esi + 0xce4]
push eax
mov eax, dword [esi + 0xce0]
push edx
mov edx, dword [esi + 0xce8]
push eax
mov eax, dword [esi + 0xc4c]
push ecx
mov ecx, dword [esi + 0xcec]
push ebp
push ecx
mov ecx, dword [esi + 0xc48]
push edx
push eax
push ecx
call fcn.00853500
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov ebp, ebx
or ebp, ecx
jne 0x844b93
mov ebp, eax
or ebp, edx
jne 0x844b93
push 0xc
push esi
call fcn.00843620
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push esi
call fcn.00853600
add esp, 0x14
jmp case.0x844480.1
cmp ecx, edx
jl 0x844baf
jg 0x844b9d
cmp ebx, eax
jb 0x844baf
push 0xa
push ecx
push ebx
push esi
call fcn.00845ca0
add esp, 0x10
jmp case.0x844480.1
push 0xa
push edx
push eax
push esi
call fcn.00845ca0
add esp, 0x10
jmp case.0x844480.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
cmp eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
jl 0x844c31
jg 0x844beb
cmp ecx, ebx
jbe 0x844c31
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xcd4]
push edx
mov edx, dword [esi + 0xcd0]
push edx
mov edx, dword [esi + 0xc54]
push eax
mov eax, dword [esi + 0xcdc]
push ecx
mov ecx, dword [esi + 0xcd8]
push eax
mov eax, dword [esi + 0xc50]
push ecx
push edx
push eax
call fcn.00853500
add esp, 0x28
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esi + 0x66c]
mov ecx, dword [esi + 0x668]
xor ebx, ebx
xor ebp, ebp
test eax, eax
jl 0x844c8d
jg 0x844c4b
test ecx, ecx
jbe 0x844c8d
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xce4]
push edx
mov edx, dword [esi + 0xce0]
push edx
mov edx, dword [esi + 0xc4c]
push eax
mov eax, dword [esi + 0xcec]
push ecx
mov ecx, dword [esi + 0xce8]
push eax
mov eax, dword [esi + 0xc48]
push ecx
push edx
push eax
call fcn.00853500
add esp, 0x28
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x844e7c
mov edx, ebx
or edx, ebp
jne 0x844e7c
mov edx, dword [esi + 8]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
push edx
call fcn.0086d660
mov edi, eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
jne 0x844cd6
cmp edi, 0x38
je 0x844cd6
cmp edi, 0x5c
jne 0x844d0c
jmp 0x844d14
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.0086eb60
add esp, 8
cmp eax, ebp
jne 0x844d06
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp eax, ebp
setne bl
cmp ebx, ebp
je 0x844d10
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x844d54
cmp edi, ebp
jne 0x844d14
mov edi, eax
mov ebx, dword [esp + 0x24]
cmp edi, ebp
je 0x844d4a
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x5a8]
test byte [edx + 0x44], 2
jne 0x844d33
cmp edi, 0x5c
je 0x844d33
push 2
push eax
call fcn.0084c1c0
add esp, 8
push esi
call fcn.0083e830
push 1
push edi
push esi
call fcn.00843800
add esp, 0x10
jmp case.0x844480.1
cmp dword [esp + 0x20], ebp
je 0x844e56
push esi
call fcn.0083e830
mov eax, dword [esi + 0x11c]
add esp, 4
cmp eax, ebp
jne 0x844de5
cmp ebx, ebp
jne 0x844e0e
cmp dword [esi + 0x118], ebp
je 0x844dcd
mov eax, dword [esp + 0x18]
push eax
call dword [0x8b8934]
mov eax, dword [esi + 0x118]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x118], ebp
call fcn.0086e890
mov ecx, dword [esp + 0x28]
mov edi, eax
push ecx
call dword [0x8b8934]
add esp, 0x14
cmp edi, ebp
je 0x844dcd
push 1
push edi
push esi
mov dword [esp + 0x1c], 1
call fcn.00843800
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne case.0x844480.1
push 0xe
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], 0xffffffff
jmp case.0x844480.1
cmp ebx, ebp
jne 0x844e0e
mov edx, dword [esp + 0x18]
push edx
call dword [0x8b8934]
mov eax, dword [esi + 0x11c]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0x11c], ebp
mov edi, 3
jmp 0x844e13
mov edi, 2
push ebp
push ebp
push esi
call fcn.00843800
mov ecx, dword [esp + 0x24]
push edi
push ecx
push esi
call fcn.0086e890
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x844e43
push 2
push esi
call fcn.00843620
add esp, 8
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x18]
push edx
call dword [0x8b8934]
add esp, 4
jmp case.0x844480.1
cmp dword [esp + 0x28], ebp
je case.0x844480.1
push 7
push 0
push 0
push esi
call fcn.00845ca0
add esp, 0x10
mov dword [esp + 0x50], 0
jmp case.0x844480.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.00853600
push 0xd
push esi
call fcn.00843620
mov eax, dword [esp + 0x50]
add esp, 0x14
cmp eax, ebp
jl 0x844ebe
jg 0x844ea7
cmp dword [esp + 0x38], ebx
jb 0x844ebe
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push esi
call fcn.00845ca0
add esp, 0x10
jmp case.0x844480.1
push 0xa
push ebp
push ebx
push esi
call fcn.00845ca0
add esp, 0x10
jmp case.0x844480.1
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x844f0c
cmp dword [eax + 0x57c], ebx
je 0x844eed
push ebp
call fcn.00845fb0
add esp, 4
push ebx
push edi
push esi
call fcn.00843800
add esp, 0xc
cmp edi, ebx
jne 0x844efe
mov edi, eax
cmp dword [esi + 8], ebx
je 0x844f0c
push esi
call fcn.00843b10
add esp, 4
cmp dword [esi + 0x1008], ebx
je 0x844f20
cmp dword [esi + 0x1030], 7
je 0x844f20
push ebx
jmp 0x844f22
push 0xf
push esi
call fcn.00843620
add esp, 8
cmp dword [esi + 0x24], 0xf
jge 0x844fde
test edi, edi
je 0x844f9d
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00845fb0
mov ebp, dword [esi + 8]
add esp, 4
test ebp, ebp
je 0x844f7e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x844f8d
push esi
call fcn.00843b10
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push ebp
push esi
call fcn.0083f200
add esp, 0x10
push 0xf
push esi
call fcn.00843620
add esp, 8
or ebp, 0xffffffff
jmp 0x844fe2
cmp dword [esi + 0x24], 2
jne 0x844f8d
push esi
call fcn.0083e830
add esp, 4
push 0xf
push esi
call fcn.00843620
add esp, 8
or ebp, 0xffffffff
jmp 0x844fe2
mov eax, dword [esi + 8]
test eax, eax
je 0x844fde
push eax
call fcn.008537c0
add esp, 4
test eax, eax
je 0x844fde
mov eax, dword [esi + 8]
push 2
push eax
mov edi, 0x2a
call fcn.0084c1c0
mov ebp, dword [esi + 0x24]
xor ecx, ecx
cmp ebp, 0xe
setge cl
add ecx, 0xe
push ecx
push esi
call fcn.00843620
add esp, 0x10
or ebp, 0xffffffff
jmp 0x844fe2
mov ebp, dword [esp + 0x50]
cmp dword [esi + 0x24], 0xf
jne 0x845026
mov eax, dword [esi + 0xb08]
test eax, eax
je 0x844ffb
push edi
push esi
call eax
add esp, 8
jmp 0x84501b
mov edx, dword [esp + 0x44]
lea eax, [esi + 0x2c]
push eax
push edx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
call fcn.008450e0
add esp, 8
mov ebp, eax
push 0x10
push esi
call fcn.00843620
add esp, 8
cmp ebp, 0xffffffff
je 0x8442a1
mov eax, dword [esp + 0x44]
push 0
push eax
call fcn.00845100
add esp, 8
test eax, eax
je 0x845066
jmp 0x8442a1
mov ecx, dword [esi + 0x24]
push ecx
push str.In_state__d_with_no_conn__bail_out__n
push esi
call fcn.00846120
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x30
ret
mov dword [esi + 0x28], edi
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [esi + 0x28], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret