Function at 0x10043410
Capabilities:
Connect socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [ebp + 8]
push ebx
lea ecx, [eax + 0x9f8]
push esi
mov edx, eax
push edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x48], ecx
cmp eax, ecx
ja 0x10043465
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0xc]
cmp edx, 0x6a05
ja 0x10043630
je 0x10043624
cmp edx, 0x2854
ja 0x100434b2
je 0x1004346f
mov eax, edx
sub eax, 0xd5
je 0x10043486
sub eax, 0x58
jne 0x10043f7d
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x1b30
cmp eax, eax
je 0x10043f99
add eax, 0x59
cmp eax, 0x1b30
jbe 0x10043476
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
push 0
lea edx, [ebp - 0x30]
push edx
push 0x5db2
push 0
neg ecx
push esi
push eax
mov dword [ebp - 0x30], ecx
call fcn.1003eb70
add esp, 0x18
mov dword [ebp - 0x10], eax
jmp 0x10043f7d
cmp edx, 0x47a5
je 0x100434d2
cmp edx, 0x69ad
jne 0x10043f7d
mov dword [ebp - 4], 0
jmp 0x10043f7d
cmp dword [esi], 2
jne 0x10043465
jmp 0x100434e0
mov eax, 0x1100
mov dword [ebp - 0x1c], eax
jmp 0x100434f0
sub eax, 0x1100
je 0x100435df
sub eax, 0x43
je 0x100435ab
sub eax, 0x43
jne 0x1004360b
test edi, edi
jns 0x1004358e
push eax
push eax
push 0x187d
call fcn.100432e0
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc], edi
cmp edi, 0x2733
jne 0x10043534
xor edi, edi
mov dword [ebp - 0xc], edi
jmp 0x1004358e
mov ebx, 0x6f91
lea esp, [esp]
mov eax, ebx
sub eax, 0x6f91
je 0x10043569
sub eax, 0x2d
je 0x1004355f
sub eax, 0x2d
jne 0x10043583
mov dword [ebp - 0x14], 0x47a5
jmp 0x10043f7d
pop esi
sub eax, 0x89a87feb
jle 0x1004357b
jmp 0x10043583
push 0
push esi
push 0x4da8
push 0
or edi, 0xffffffff
push 0
mov dword [ebp - 0xc], edi
call fcn.10042d30
add esp, 0x14
add ebx, 0x2d
cmp ebx, 0x6feb
jbe 0x10043540
push 0x3d31
lea ecx, [ebp - 0x30]
push ecx
lea edx, [esi + 0x60]
push edx
mov dword [ebp - 0x30], edi
call fcn.10047ca0
mov ebx, dword [ebp - 0x18]
add esp, 0xc
jmp 0x1004360b
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
push ecx
push edx
mov dword [ebp - 0xc], eax
push 0x1b6c
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x14], ebx
call fcn.100051f0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xc], edi
jmp 0x1004360b
lea edx, [esi + 0x60]
push edx
lea eax, [ebp - 8]
push eax
push 0
push 0
push 0x3324
call fcn.10050c10
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x18], ebx
test ebx, ebx
jle 0x10043553
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x1c]
add eax, 0x43
mov dword [ebp - 0x1c], eax
cmp eax, 0x1186
jbe 0x100434f0
jmp 0x100434e0
mov dword [esi + 0x1c], 0
jmp 0x10043f7d
cmp edx, 0x6b0d
ja 0x10043f55
je 0x100438df
mov eax, edx
sub eax, 0x6a5d
je 0x10043665
sub eax, 0x58
jne 0x10043f7d
or eax, 0xffffffff
cmp dword [esi + 4], eax
je 0x10043468
jmp 0x10043f7d
cmp dword [esi + 4], 0
jne 0x10043728
xor ebx, ebx
lea edi, [ebx + 4]
cmp ebx, 0x96
ja case.0x10043687.1
movzx edx, byte [ebx + 0x10043fec]
jmp dword [edx*4 + 0x10043fd8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [esi + 8]
push 0x10
push eax
push ecx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 4], eax
jmp case.0x10043687.1
cmp dword [ebp - 4], 0
jne 0x100436b2
mov dword [esi + 4], 1
jmp case.0x10043687.1
push 0
push 0
push 0x741d
push 0
push 0
push 0
push 0
call fcn.1003c0f0
add esp, 0x1c
cmp eax, 0x2733
jne 0x100436db
mov dword [esi + 4], 1
jmp case.0x10043687.1
cmp eax, 0x70
jne 0x100436e9
mov dword [esi + 4], 1
jmp case.0x10043687.1
xor edx, edx
cmp eax, 0x2734
sete dl
lea edx, [edx + edx - 1]
mov dword [esi + 4], edx
jmp case.0x10043687.1
cmp dword [esi + 4], 0xffffffff
jne case.0x10043687.1
mov dword [esi + 0x18], 1
jmp case.0x10043687.1
cmp dword [esi], 0
jne 0x10043718
lea eax, [esi + 0x20]
mov dword [ebp - 0x24], eax
jmp case.0x10043687.1
lea ecx, [esi + 0x30]
mov dword [ebp - 0x24], ecx
add ebx, 0x32
dec edi
jne 0x10043674
cmp dword [esi + 4], 1
jne 0x10043863
mov dword [ebp - 0x1c], 0x1a5a
mov edi, dword [ebp - 0x1c]
lea esp, [esp]
mov eax, edi
sub eax, 0x1a5a
je 0x10043844
sub eax, 6
jne 0x10043851
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 4], edx
lea edx, [ebp - 4]
mov dword [ebp - 0x30], eax
push edx
lea eax, [ebp - 0x38]
push eax
push 0x5e8c
call fcn.10005600
add esp, 0x10
mov dword [ebp - 4], eax
test al, 5
jne 0x10043834
test al, 2
je 0x10043851
mov ecx, dword [ebp - 0x40]
mov ebx, 0x2cf5
xor edi, edi
jmp 0x100437a0
mov eax, ebx
sub eax, 0x2cf5
je 0x100437dc
sub eax, 0x44
jne 0x1004381d
cmp ecx, edi
jl 0x100437cc
jne 0x100437b9
cmp dword [ebp - 0x28], edi
jne 0x100437cc
xor edx, edx
cmp dword [esi], edi
sete dl
lea edx, [edx*8 + 2]
mov dword [esi + 4], edx
jmp 0x1004381d
mov dword [esi + 0x18], 2
mov dword [esi + 4], 0xffffffff
jmp 0x1004381d
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x38]
push ecx
push 0x43b6
lea edx, [ebp - 0x28]
push edx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x40], 0x1007
mov dword [ebp - 0x38], 0xffff
call fcn.10049290
add esp, 0x18
mov ecx, eax
add ebx, 0x44
cmp ebx, 0x2d39
jbe 0x100437a0
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x40], ecx
jmp 0x10043851
mov dword [esi + 0x18], 2
mov dword [esi + 4], 0xffffffff
jmp 0x10043851
mov eax, dword [esi + 8]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x2c], eax
add edi, 6
mov dword [ebp - 0x1c], edi
cmp edi, 0x1a60
jbe 0x10043740
cmp dword [esi + 4], 2
jne 0x10043f7d
push 0
push 0
push 0
push 0x7491
push esi
call fcn.10023d30
add esp, 0x14
mov dword [ebp - 4], eax
test eax, eax
jns 0x1004389b
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 3
jmp 0x10043f7d
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 0x10]
jl 0x10043f7d
xor edi, edi
mov ecx, 0x424b
lea edx, [edi + 3]
mov eax, ecx
sub eax, 0x424b
je 0x100438c7
sub eax, 0x64
jne 0x100438cf
mov dword [esi + 4], edx
mov dword [esi + 0xc], edi
jmp 0x100438cf
mov eax, dword [esi + 0xc]
mov byte [esi + eax + 0x40], 0
add ecx, 0x64
cmp ecx, 0x42af
jbe 0x100438b1
jmp 0x10043f7d
mov ecx, dword [esi + 4]
cmp ecx, 0xa
je 0x10043fb6
mov eax, dword [esi]
test eax, eax
je 0x10043fc2
cmp eax, 1
jne 0x10043aa8
cmp ecx, 3
jne 0x10043f7d
jmp 0x10043910
mov edi, 0x130e
mov dword [ebp - 0x14], edi
jmp 0x10043920
mov eax, edi
sub eax, 0x130e
je 0x10043a56
sub eax, 0x4b
jne 0x10043a80
cmp dword [ebp - 4], eax
jge 0x1004394e
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0xa
jmp 0x10043a80
mov eax, dword [esi + 0xc]
cmp eax, 4
jle 0x10043a80
mov ecx, str._...
lea eax, [eax + esi + 0x3c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043983
test dl, dl
je 0x1004397f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043983
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043963
xor eax, eax
jmp 0x10043988
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10043a80
xor edi, edi
mov dword [ebp - 0x1c], 4
lea eax, [edi + 1]
lea esp, [esp]
cmp edi, 0x8a
ja case.0x100439b3.1
movzx ecx, byte [edi + 0x10044098]
jmp dword [ecx*4 + 0x10044084]
mov eax, str.jonahhartman
mov edx, esi
sub edx, eax
mov ecx, 0xc
add edx, 0x40
jmp 0x100439d0
mov ebx, dword [eax + edx]
cmp ebx, dword [eax]
jne 0x10043a40
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x100439d0
mov eax, 1
mov dword [ebp - 4], eax
jmp case.0x100439b3.1
cmp dword [ebp - 4], eax
jne 0x100439fa
mov dword [esi + 4], 0xa
jmp case.0x100439b3.1
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0xb
jmp case.0x100439b3.1
mov dword [ebp - 4], 0
jmp case.0x100439b3.1
mov eax, str.
mov edx, esi
sub edx, eax
mov ecx, 0xc
add edx, 0x40
mov ebx, dword [eax + edx]
cmp ebx, dword [eax]
jne 0x10043a40
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x10043a24
mov eax, 1
mov dword [ebp - 4], eax
jmp case.0x100439b3.1
mov eax, 1
add edi, 0x2e
sub dword [ebp - 0x1c], eax
jne 0x100439a0
mov edi, dword [ebp - 0x14]
jmp 0x10043a80
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x3c]
push ecx
push esi
inc eax
push 0
push 0x5b74
mov dword [ebp - 0x3c], eax
call fcn.1002fcb0
mov edx, dword [esi + 0xc]
add esp, 0x10
mov dword [ebp - 4], eax
mov byte [esi + edx + 0x40], 0
test eax, eax
je 0x10043a9c
add edi, 0x4b
mov dword [ebp - 0x14], edi
cmp edi, 0x1359
jbe 0x10043920
cmp dword [esi + 4], 3
je 0x10043910
mov dword [ebp - 0x14], 0x6b0d
jmp 0x10043f7d
cmp eax, 2
jne 0x10043b1d
cmp ecx, 3
jne 0x10043f7d
lea eax, [ebp - 0x3c]
push eax
push esi
push 0
mov edi, 8
push 0x5b74
mov dword [ebp - 0x3c], edi
call fcn.1002fcb0
add esp, 0x10
test eax, eax
jns 0x10043ae9
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x14
jmp 0x10043f7d
cmp dword [esi + 0xc], edi
jl 0x10043f7d
cmp byte [esi + 0x40], 0
jne 0x10043b0a
cmp byte [esi + 0x41], 0x5a
jne 0x10043b0a
mov dword [esi + 4], 0xa
jmp 0x10043f7d
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x15
jmp 0x10043f7d
cmp eax, 3
jne 0x10043f45
mov eax, 0x4221
mov dword [ebp - 0x30], eax
mov edi, edi
or edi, 0xffffffff
sub eax, 0x4221
je 0x10043cd8
sub eax, 0x22
jne 0x10043f2f
cmp dword [esi + 4], 5
jne 0x10043c1f
lea ecx, [ebp - 0x3c]
push ecx
push esi
push eax
or edi, edi
push 0x5b74
mov dword [ebp - 0x3c], edi
call fcn.1002fcb0
add esp, 0x10
test eax, eax
jns 0x10043b7c
mov dword [esi + 4], edi
mov dword [esi + 0x18], 0x29
jmp 0x10043f2f
cmp dword [esi + 0xc], 2
jl 0x10043c1f
cmp byte [esi + 0x41], 0
je 0x10043b9f
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x2a
jmp 0x10043f2f
xor eax, eax
xor ebx, ebx
lea edi, [eax + 4]
jmp 0x10043baa
xor eax, eax
cmp ebx, 0x4e
ja case.0x10043bb6.1
movzx edx, byte [ebx + 0x10044138]
jmp dword [edx*4 + 0x10044124]
mov dword [esi + 4], 6
mov dword [esi + 0xc], eax
jmp case.0x10043bb6.1
push 0
push 0
push 0x2bb1
lea eax, [ebp - 0x20]
push eax
push 0
lea ecx, [esi + 0x1d0]
push ecx
push 0
call fcn.10033260
add esp, 0x1c
jmp case.0x10043bb6.1
movzx edx, word [ebp - 0x20]
push 0
push 0x22
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 0x40]
mov dword [ebp - 0x3c], edx
push ecx
lea edx, [esi + 0x1d2]
push edx
call fcn.1006af70
movzx eax, word [ebp - 0x20]
add esp, 0x14
mov dword [esi + 0x10], eax
jmp case.0x10043bb6.1
mov dword [ebp - 0x20], eax
add ebx, 0x1a
dec edi
jne 0x10043ba8
cmp dword [esi + 4], 6
jne 0x10043c68
push 0
push 0
push 0
push 0x7491
push esi
call fcn.10023d30
add esp, 0x14
test eax, eax
jns 0x10043c50
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x32
jmp 0x10043f2f
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 0x10]
jl 0x10043c68
mov dword [esi + 4], 7
mov dword [esi + 0xc], 0
jmp 0x10043c72
cmp dword [esi + 4], 7
jne 0x10043f2f
lea edx, [ebp - 0x3c]
push edx
push esi
push 0
mov edi, 0xa
push 0x5b74
mov dword [ebp - 0x3c], edi
call fcn.1002fcb0
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jns 0x10043ca8
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x33
jmp 0x10043f2f
cmp dword [esi + 0xc], edi
jl 0x10043f2f
cmp byte [esi + 0x40], 5
jne 0x10043cc5
cmp byte [esi + 0x41], 0
jne 0x10043cc5
mov dword [esi + 4], edi
jmp 0x10043f2f
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x18], 0x34
jmp 0x10043f2f
cmp dword [esi + 4], 3
jne 0x10043eef
lea eax, [ebp - 0x3c]
push eax
push esi
push 0
push 0x5b74
mov dword [ebp - 0x3c], edi
call fcn.1002fcb0
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jns 0x10043d0f
mov dword [esi + 4], edi
mov dword [esi + 0x18], 0x1f
jmp 0x10043f2f
cmp dword [esi + 0xc], 2
jl 0x10043eef
mov eax, 0x5156
mov dword [ebp - 0x1c], eax
sub eax, 0x5156
je 0x10043ebb
sub eax, 0x50
je 0x10043d42
sub eax, 0x50
jne 0x10043edb
mov dword [esi + 0xc], eax
jmp 0x10043edb
cmp dword [esi + 0x14], 0
jne 0x10043db4
cmp byte [esi + 0x40], 5
lea ebx, [esi + 0x40]
jne 0x10043da5
cmp byte [esi + 0x41], 0
jne 0x10043da5
mov edi, 0x7a17
cmp edi, edi
jne 0x10043d92
in eax, dx
arpl word [edi + 0x40], bp
test dword [edi], ecx
mov bh, 0x4d
or byte [edx], ch
push 0x22
lea edx, [ebp - 0x3c]
push edx
lea eax, [esi + 0x1d2]
push ebx
push eax
mov dword [ebp - 0x3c], ecx
call fcn.1006af70
movzx ecx, word [ebp + 8]
add esp, 0x14
mov dword [esi + 0x10], ecx
mov dword [esi + 4], 6
add edi, 0xd
cmp edi, 0x7a17
jbe 0x10043d5e
or edi, 0xffffffff
jmp 0x10043edb
mov dword [esi + 4], edi
mov dword [esi + 0x18], 0x20
jmp 0x10043edb
mov al, byte [esi + 0x40]
cmp al, 5
jne 0x10043eaf
cmp byte [esi + 0x41], 0
jne 0x10043e25
mov ebx, 0x5799
lea ebx, [ebx]
mov eax, ebx
sub eax, 0x5799
je 0x10043dec
sub eax, 0x58
jne 0x10043e15
push cs
sar eax, 0xd5
cmpsb byte [esi], byte es:[edi]
mov dword [esi + 4], 6
jmp 0x10043e15
movzx edx, word [ebp + 8]
push 0
push 0x22
lea eax, [ebp - 0x3c]
push eax
lea eax, [esi + 0x40]
push eax
lea ecx, [esi + 0x1d2]
push ecx
mov dword [ebp - 0x3c], edx
call fcn.1006af70
movzx edx, word [ebp + 8]
add esp, 0x14
mov dword [esi + 0x10], edx
add ebx, 0x58
cmp ebx, 0x57f1
jbe 0x10043dd0
jmp 0x10043edb
cmp al, 5
jne 0x10043eaf
cmp byte [esi + 0x41], 2
jne 0x10043eaf
xor ebx, ebx
lea edi, [ebx + 4]
cmp ebx, 0xb7
ja case.0x10043e47.1
movzx eax, byte [ebx + 0x1004419c]
jmp dword [eax*4 + 0x10044188]
movzx ecx, word [ebp + 8]
push 0
push 0x22
lea edx, [ebp - 0x3c]
push edx
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0x2fe]
push eax
mov dword [ebp - 0x3c], ecx
call fcn.1006af70
add esp, 0x14
jmp case.0x10043e47.1
mov dword [esi + 4], 4
jmp case.0x10043e47.1
push 0
push 0
push 0x2bb1
lea ecx, [ebp + 8]
push ecx
push 0
lea edx, [esi + 0x2fc]
push edx
push 0
call fcn.10033260
add esp, 0x1c
jmp case.0x10043e47.1
movzx eax, word [ebp + 8]
mov dword [esi + 0x10], eax
add ebx, 0x3d
dec edi
jne 0x10043e38
or edi, 0xffffffff
jmp 0x10043edb
mov dword [esi + 4], edi
mov dword [esi + 0x18], 0x21
jmp 0x10043edb
push 0
push 0
push 0x2bb1
lea ecx, [ebp + 8]
push ecx
push 0
lea edx, [esi + 0x1d0]
push edx
push 0
call fcn.10033260
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
add eax, 0x50
mov dword [ebp - 0x1c], eax
cmp eax, 0x51f6
jbe 0x10043d21
cmp dword [esi + 4], 4
jne 0x10043f2f
push 0
push 0
push 0
push 0x7491
push esi
call fcn.10023d30
add esp, 0x14
test eax, eax
jns 0x10043f19
mov dword [esi + 4], edi
mov dword [esi + 0x18], 0x28
jmp 0x10043f2f
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 0x10]
jl 0x10043f2f
mov dword [esi + 4], 5
mov dword [esi + 0xc], 0
mov eax, dword [ebp - 0x30]
add eax, 0x22
mov dword [ebp - 0x30], eax
cmp eax, 0x4243
jbe 0x10043b30
jmp 0x10043f7d
mov dword [esi + 0x18], 0x64
mov dword [esi + 4], 0xffffffff
jmp 0x10043f7d
mov eax, edx
sub eax, 0x6b65
je 0x10043f69
sub eax, 0x58
je 0x10043465
jmp 0x10043f7d
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x10043fcb
cmp eax, 0xa
je 0x10043fb6
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x14]
add edx, 0x58
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0x48]
jbe 0x10043431
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
lea ecx, [ebp + 8]
push ecx
push 0xf8a
push edx
push esi
mov dword [ebp + 8], 0xffffffff
call fcn.1004e630
add esp, 0x10
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret