Function at 0x5e3634
Capabilities:
Create tcp socket
Create udp socket
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff3a0
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c0], 0x6e460c
mov dword [ebp - 0x1bc], esp
mov dword [ebp - 0x1c4], eax
mov word [ebp - 0x1b8], 0
mov dword [ebp - 0x1ac], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x1c8], ecx
lea eax, [ebp - 0x1c8]
mov dword fs:[0], eax
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x284]
push edx
push 0x19
push ecx
push 0x6dc50b
push 0x6dc502
push 0x6dc4fb
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc510
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e370c
push 0x6dc516
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e370c
push 0x6dc519
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e370c
push 0x6dc51b
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3711
mov byte [ebx], 0
jmp 0x5e3714
mov byte [ebx], 1
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x284]
push edx
push 0x19
push ecx
push 0x6dc534
push str.UseAllCiphers
push 0x6dc51f
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc53a
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3795
push 0x6dc53f
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3795
push 0x6dc543
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3795
push 0x6dc545
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e379b
mov byte [ebx + 0xc], 1
jmp 0x5e379f
mov byte [ebx + 0xc], 0
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x284]
push edx
push 0x19
push ecx
push 0x6dc55a
push 0x6dc54f
push 0x6dc548
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea eax, [ebp - 0x1cc]
lea edx, [ebp - 0x284]
push eax
push 0x6dc55d
push edx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e37f3
mov ecx, dword [ebp - 0x1cc]
test ecx, ecx
jl 0x5e37f3
mov eax, dword [ebp - 0x1cc]
mov dword [ebx + 0x18], eax
jmp 0x5e37fa
mov dword [ebx + 0x18], 0xffffffff
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x284]
push edx
push 0x19
push ecx
push 0x6dc575
push 0x6dc567
push 0x6dc560
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc57b
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e387b
push 0x6dc580
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e387b
push 0x6dc584
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e387b
push 0x6dc586
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3881
mov byte [ebx + 2], 1
jmp 0x5e3885
mov byte [ebx + 2], 0
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x284]
push edx
push 0x19
push ecx
push 0x6dc5a1
push 0x6dc590
push 0x6dc589
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc5a7
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3906
push 0x6dc5ac
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3906
push 0x6dc5b0
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3906
push 0x6dc5b2
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e390c
mov byte [ebx + 4], 1
jmp 0x5e3910
mov byte [ebx + 4], 0
or edx, 0xffffffff
lea ecx, [ebp - 0x284]
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x44], edx
mov eax, dword [esi + 0x30]
push eax
push 0x19
push ecx
push 0x6dc5c7
push 0x6dc5bc
push 0x6dc5b5
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x7c
lea eax, [ebp - 0x284]
push eax
call fcn.0069cf19
add esp, 8
mov dword [ebp - 0x1d0], eax
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc5ca
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3983
mov eax, dword [ebp - 0x1cc]
cmp eax, 0x32
jle 0x5e3983
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x44], edx
mov ecx, dword [ebp - 0x1d0]
test ecx, ecx
je 0x5e39c2
lea eax, [ebp - 0x1cc]
push eax
push 0x6dc5cd
mov edx, dword [ebp - 0x1d0]
inc edx
push edx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e39c2
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 0x32
jle 0x5e39c2
mov eax, dword [ebp - 0x1cc]
mov dword [ebx + 0x48], eax
jmp 0x5e39c8
mov edx, dword [ebx + 0x44]
mov dword [ebx + 0x48], edx
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc5ec
push 0x6dc5d7
push 0x6dc5d0
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc5f2
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3a49
push 0x6dc5f7
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3a49
push 0x6dc5fb
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3a49
push 0x6dc5fd
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3a4f
mov byte [ebx + 3], 1
jmp 0x5e3a53
mov byte [ebx + 3], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc61c
push 0x6dc607
push 0x6dc600
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc622
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3ad4
push 0x6dc627
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3ad4
push 0x6dc62b
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3ad4
push 0x6dc62d
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3ada
mov byte [ebx + 6], 1
jmp 0x5e3ade
mov byte [ebx + 6], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc648
push 0x6dc637
push 0x6dc630
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc64e
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3b5f
push 0x6dc653
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3b5f
push 0x6dc657
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3b5f
push 0x6dc659
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3b65
mov byte [ebx + 5], 1
jmp 0x5e3b69
mov byte [ebx + 5], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc672
push 0x6dc663
push 0x6dc65c
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc677
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3bea
push 0x6dc67d
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3bea
push 0x6dc680
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3bea
push 0x6dc682
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3bf0
mov byte [ebx + 7], 0
jmp 0x5e3bf4
mov byte [ebx + 7], 1
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc69a
push 0x6dc68d
push 0x6dc686
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc69b
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3c48
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e3c48
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x1c], edx
jmp 0x5e3c4f
mov dword [ebx + 0x1c], 0x19
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc6b2
push 0x6dc6a5
push 0x6dc69e
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc6b3
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3ca3
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e3ca3
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x20], edx
jmp 0x5e3caa
mov dword [ebx + 0x20], 0x258
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xfa
jle 0x5e3cbc
mov dword [ebx + 0x1c], 0xfa
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc6d1
push 0x6dc6bd
push 0x6dc6b6
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc6d5
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3cfe
mov dword [ebx + 0x24], 1
jmp 0x5e3d24
push 0x6dc6df
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3d1f
mov dword [ebx + 0x24], 2
jmp 0x5e3d24
xor edx, edx
mov dword [ebx + 0x24], edx
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc703
push 0x6dc6ed
push 0x6dc6e6
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc70a
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3d66
mov dword [ebx + 0x28], 1
jmp 0x5e3d6b
xor ecx, ecx
mov dword [ebx + 0x28], ecx
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc727
push 0x6dc71b
push 0x6dc714
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov byte [ebp - 0x27b], 0
mov byte [ebp - 0x1d1], 1
xor ecx, ecx
lea eax, [ebp - 0x284]
movsx edx, byte [eax]
cmp edx, 0x72
je 0x5e3dc0
cmp edx, 0x77
je 0x5e3dc0
cmp edx, 0x78
je 0x5e3dc0
cmp edx, 0x2d
je 0x5e3dc0
mov byte [ebp - 0x1d1], 0
inc ecx
inc eax
cmp ecx, 9
jl 0x5e3da2
mov cl, byte [ebp - 0x1d1]
test cl, cl
je 0x5e3de6
lea eax, [ebp - 0x284]
push eax
lea edx, [ebx + 0x60]
push edx
call fcn.0069a464
add esp, 8
jmp 0x5e3df7
push 0x6dc731
lea ecx, [ebx + 0x60]
push ecx
call fcn.0069a464
add esp, 8
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc74d
push 0x6dc742
push 0x6dc73b
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc753
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3e78
push 0x6dc758
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3e78
push 0x6dc75c
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e3e78
push 0x6dc75e
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e3e7e
mov byte [ebx + 1], 1
jmp 0x5e3e82
mov byte [ebx + 1], 0
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc779
push 0x6dc768
push 0x6dc761
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x284]
push ecx
push 0x6dc77a
push eax
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3ed6
mov edx, dword [ebp - 0x1cc]
test edx, edx
jle 0x5e3ed6
mov ecx, dword [ebp - 0x1cc]
mov dword [ebx + 0x2c], ecx
jmp 0x5e3edd
mov dword [ebx + 0x2c], 0x1e
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc794
push 0x6dc784
push 0x6dc77d
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x284]
push ecx
push 0x6dc795
push eax
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3f31
mov edx, dword [ebp - 0x1cc]
test edx, edx
jle 0x5e3f31
mov ecx, dword [ebp - 0x1cc]
mov dword [ebx + 0x30], ecx
jmp 0x5e3f38
mov dword [ebx + 0x30], 4
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc7af
push 0x6dc79f
push 0x6dc798
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x284]
push ecx
push 0x6dc7b0
push eax
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e3f8c
mov edx, dword [ebp - 0x1cc]
test edx, edx
jle 0x5e3f8c
mov ecx, dword [ebp - 0x1cc]
mov dword [ebx + 0x34], ecx
jmp 0x5e3f93
mov dword [ebx + 0x34], 0x12c
mov word [ebp - 0x1b8], 8
push 0
push 7
push 0
push 0
mov eax, dword [0x6af3d0]
push eax
lea edx, [ebp - 0x190]
push edx
call fcn.00588fa8
add dword [ebp - 0x1ac], 3
mov word [ebp - 0x1b8], 0x14
or ecx, 0xffffffff
add esp, 0x18
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x38], ecx
mov dword [ebp - 0x1d8], 4
mov eax, dword [ebp - 0x180]
cmp eax, 0xffffffff
jne 0x5e406c
mov dl, byte [ebp - 0x184]
test dl, dl
jne 0x5e4004
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov edi, eax
jmp 0x5e4018
push 0
push 1
push 2
lea eax, [ebp - 0x190]
push eax
call fcn.00592a38
mov edi, eax
cmp edi, 0xffffffff
je 0x5e4066
xor edx, edx
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1e4], edi
mov ecx, dword [ebp - 0x1dc]
lea edx, [ebp - 0x29c]
mov dword [ebp - 0x1e0], ecx
push eax
push 0x6db34c
push edx
call fcn.0058c62c
add esp, 0xc
mov ecx, dword [ebp - 0x294]
add ecx, 0x10
add ecx, 4
lea eax, [ebp - 0x190]
mov dword [ecx], eax
mov dword [ebp - 0x180], edi
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x1ec], edx
mov cl, byte [ebp - 0x184]
test cl, cl
jne 0x5e40a8
lea eax, [ebp - 0x1d8]
lea edx, [ebp - 0x1cc]
push eax
push edx
push 0x1002
push 0xffff
mov ecx, dword [ebp - 0x1ec]
push ecx
call sub.WSOCK32.DLL_getsockopt
jmp 0x5e40d3
lea eax, [ebp - 0x1d8]
lea edx, [ebp - 0x1cc]
push eax
push edx
push 0x1002
push 0xffff
mov ecx, dword [ebp - 0x1ec]
lea eax, [ebp - 0x190]
push ecx
push eax
call fcn.00591d74
mov dword [ebp - 0x1e8], eax
mov edx, dword [ebp - 0x1e8]
test edx, edx
jne 0x5e40e7
xor ecx, ecx
jmp 0x5e4116
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e40f8
call sub.WSOCK32.DLL_WSAGetLastError
jmp 0x5e4104
lea edx, [ebp - 0x190]
push edx
call fcn.00592df0
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.0058f584
add esp, 8
mov ecx, eax
test cl, cl
jne 0x5e4123
mov eax, dword [ebp - 0x1cc]
mov dword [ebx + 0x38], eax
mov dword [ebp - 0x1f0], 4
mov edx, dword [ebp - 0x180]
cmp edx, 0xffffffff
jne 0x5e41bd
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e4155
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov edi, eax
jmp 0x5e4169
push 0
push 1
push 2
lea edx, [ebp - 0x190]
push edx
call fcn.00592a38
mov edi, eax
cmp edi, 0xffffffff
je 0x5e41b7
xor ecx, ecx
lea edx, [ebp - 0x1fc]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1fc], edi
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x1f8], eax
push edx
push 0x6db34c
push ecx
call fcn.0058c62c
add esp, 0xc
mov eax, dword [ebp - 0x2ac]
add eax, 0x10
add eax, 4
lea edx, [ebp - 0x190]
mov dword [eax], edx
mov dword [ebp - 0x180], edi
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x204], ecx
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e41f9
lea edx, [ebp - 0x1f0]
lea ecx, [ebp - 0x1cc]
push edx
push ecx
push 0x1001
push 0xffff
mov eax, dword [ebp - 0x204]
push eax
call sub.WSOCK32.DLL_getsockopt
jmp 0x5e4224
lea edx, [ebp - 0x1f0]
lea ecx, [ebp - 0x1cc]
push edx
push ecx
push 0x1001
push 0xffff
mov eax, dword [ebp - 0x204]
lea edx, [ebp - 0x190]
push eax
push edx
call fcn.00591d74
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
test ecx, ecx
jne 0x5e4238
xor eax, eax
jmp 0x5e4265
mov dl, byte [ebp - 0x184]
test dl, dl
jne 0x5e4249
call sub.WSOCK32.DLL_WSAGetLastError
jmp 0x5e4255
lea ecx, [ebp - 0x190]
push ecx
call fcn.00592df0
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0058f584
add esp, 8
test al, al
jne 0x5e4272
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x3c], edx
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc7ca
push 0x6dc7ba
push 0x6dc7b3
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc7d0
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e42f3
push 0x6dc7d5
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e42f3
push 0x6dc7d9
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e42f3
push 0x6dc7db
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e42f9
mov byte [ebx + 9], 1
jmp 0x5e42fd
mov byte [ebx + 9], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc7f5
push 0x6dc7e5
push 0x6dc7de
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc7fb
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e437e
push 0x6dc800
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e437e
push 0x6dc804
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e437e
push 0x6dc806
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e4384
mov byte [ebx + 0xa], 1
jmp 0x5e4388
mov byte [ebx + 0xa], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc81e
push 0x6dc810
push 0x6dc809
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc824
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4409
push 0x6dc829
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4409
push 0x6dc82d
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4409
push 0x6dc82f
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e440f
mov byte [ebx + 0xb], 1
jmp 0x5e4413
mov byte [ebx + 0xb], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc849
push 0x6dc839
push 0x6dc832
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc84a
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e4465
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e4465
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x38], edx
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc864
push 0x6dc854
push 0x6dc84d
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc865
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e44b7
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e44b7
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x3c], edx
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc87d
push 0x6dc86f
push 0x6dc868
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc87e
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e450b
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e450b
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x40], edx
jmp 0x5e4512
mov dword [ebx + 0x40], 0x12c
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc89d
push 0x6dc888
push 0x6dc881
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x6dc8a2
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4593
push 0x6dc8a7
lea ecx, [ebp - 0x284]
push ecx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4593
push 0x6dc8ab
lea eax, [ebp - 0x284]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5e4593
push 0x6dc8ad
lea edx, [ebp - 0x284]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
jne 0x5e4599
mov byte [ebx + 8], 1
jmp 0x5e459d
mov byte [ebx + 8], 0
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x284]
push ecx
push 0x19
push eax
push 0x6dc8c5
push 0x6dc8b7
push 0x6dc8b0
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x1cc]
lea ecx, [ebp - 0x284]
push edx
push 0x6dc8c6
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e45f1
mov eax, dword [ebp - 0x1cc]
test eax, eax
jle 0x5e45f1
mov edx, dword [ebp - 0x1cc]
mov dword [ebx + 0x10], edx
jmp 0x5e45f6
xor ecx, ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [esi + 0x30]
lea edx, [ebp - 0x284]
push eax
push 0x19
push edx
push 0x6dc8de
push 0x6dc8d0
push 0x6dc8c9
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x284]
push ecx
push 0x6dc8df
push eax
call fcn.006a0b4c
add esp, 0xc
dec eax
jne 0x5e464a
mov edx, dword [ebp - 0x1cc]
test edx, edx
jle 0x5e464a
mov ecx, dword [ebp - 0x1cc]
mov dword [ebx + 0x14], ecx
jmp 0x5e464f
xor eax, eax
mov dword [ebx + 0x14], eax
mov edx, dword [ebx + 0x78]
mov dword [ebp - 0x208], edx
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x20c], ecx
lea edi, [ebx + 0x70]
mov eax, dword [ebp - 0x20c]
push eax
mov edx, dword [edi + 8]
push edx
mov ecx, dword [ebp - 0x208]
push ecx
call fcn.004057f0
add esp, 0xc
mov dword [ebp - 0x210], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x20c]
sub edx, ecx
test edx, edx
jns 0x5e46a2
add edx, 0xf
sar edx, 4
shl edx, 4
sub dword [edi + 8], edx
mov eax, dword [ebp - 0x214]
push eax
mov edx, dword [ebp - 0x210]
push edx
push edi
call fcn.0040445c
mov dword [ebp - 0x218], 1
add esp, 0xc
mov ecx, dword [ebp - 0x218]
push ecx
push str.ClientCheckDLL
push 0x6dc8e2
lea eax, [ebp - 0xad0]
push eax
call fcn.006a0ad0
add esp, 0x10
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0xab4]
lea eax, [ebp - 0xad0]
push edx
push 0x800
push ecx
push 0x6dc8ff
push eax
push str.EXTERNAL
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov dl, byte [ebp - 0xab4]
test dl, dl
je 0x5e49aa
mov word [ebp - 0x1b8], 0x20
lea ecx, [ebp - 0x220]
push ecx
lea eax, [ebp - 0xab4]
push eax
lea edx, [ebp - 0x1a0]
push edx
call fcn.0069a6ec
add esp, 0xc
inc dword [ebp - 0x1ac]
lea edi, [ebx + 0x70]
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x18]
cmp eax, edx
je 0x5e48d2
mov ecx, dword [edi + 8]
mov dword [ebp - 0x224], ecx
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x1a4], eax
test eax, eax
je 0x5e48cc
mov word [ebp - 0x1b8], 0x2c
xor edx, edx
mov dword [ebp - 0x228], edx
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x228]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
jle 0x5e4814
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x22c], eax
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x22c]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x230], eax
mov edx, dword [ebp - 0x230]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xad8], ecx
mov eax, dword [ebp - 0x1a4]
mov edx, dword [eax + 8]
add edx, 0xfffffff4
mov dword [ebp - 0x234], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x234]
cmp ecx, eax
je 0x5e48c3
mov edx, dword [ebp - 0x234]
push edx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5e48c3
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x238]
push edx
mov ecx, dword [ebp - 0x238]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
call fcn.0069a874
add esp, 0xc
mov dword [ebp - 0x240], eax
mov edx, dword [ebp - 0x240]
add edx, 0xc
mov dword [ebp - 0x23c], edx
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x23c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x244], edx
mov ecx, dword [ebp - 0x244]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xae8], eax
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x1a4]
mov edx, dword [eax + 8]
mov dword [ebp - 0x250], edx
mov ecx, dword [ebp - 0x248]
push ecx
mov eax, dword [ebp - 0x24c]
push eax
mov edx, dword [ebp - 0x250]
push edx
call fcn.0069cc60
add esp, 0xc
mov word [ebp - 0x1b8], 0x20
add dword [edi + 8], 0x10
jmp 0x5e48e6
lea ecx, [ebp - 0x1a0]
push ecx
mov eax, dword [edi + 8]
push eax
push edi
call fcn.004069b4
add esp, 0xc
dec dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x198]
test edx, edx
je 0x5e4996
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5e493c
mov edi, dword [ebp - 0x198]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x5e4933
cmp edi, 0x6ff36c
je 0x5e492c
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x5e4938
mov eax, 1
jmp 0x5e4938
mov eax, 1
test eax, eax
jne 0x5e4996
mov edx, dword [ebp - 0x198]
add edx, 0xfffffff4
mov dword [ebp - 0x254], edx
mov ecx, dword [ebp - 0x198]
add ecx, 0xfffffff4
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0x258]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x25c], edx
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x260], eax
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xaf8], ecx
mov word [ebp - 0x1b8], 0x14
inc dword [ebp - 0x218]
jmp 0x5e46cc
mov dword [ebx + 0x4c], 0xffffffff
push 0x6dc900
lea eax, [ebx + 0x50]
push eax
call fcn.0069a464
add esp, 8
xor edx, edx
mov dword [ebp - 0x264], edx
lea eax, [ebp - 0xc60]
mov word [ebp - 0x1b8], 0x14
mov ecx, dword [esi + 0x30]
push ecx
push 0x15e
push eax
push 0x6dc90e
push str.IPLog
push 0x6dc901
call sub.KERNEL32.DLL_GetPrivateProfileStringA
test eax, eax
je 0x5e4a9b
push 0x7c
lea edx, [ebp - 0xc60]
push edx
call fcn.0069cf19
add esp, 8
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
test ecx, ecx
je 0x5e4a29
mov eax, dword [ebp - 0x268]
mov byte [eax], 0
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0xc60]
push edx
push 0x6dc90f
push ecx
call fcn.006a0b4c
add esp, 0xc
dec eax
je 0x5e4a53
mov dword [ebp - 0x264], 0xffffffff
jmp 0x5e4a71
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x5e4a71
mov edx, dword [ebp - 0x268]
inc edx
push edx
lea ecx, [ebx + 0x50]
push ecx
call fcn.0069a464
add esp, 8
mov eax, dword [ebp - 0x264]
cmp eax, 0x3e7
jle 0x5e4a88
mov dword [ebp - 0x264], 0x3e7
mov edx, dword [ebp - 0x264]
test edx, edx
jle 0x5e4a9b
mov ecx, dword [ebp - 0x264]
mov dword [ebx + 0x4c], ecx
sub dword [ebp - 0x1ac], 3
push 2
lea eax, [ebp - 0x190]
push eax
call fcn.005899b4
add esp, 8
mov edx, dword [ebp - 0x1c8]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret