Function at 0x100e1d60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101b939b
mov eax, dword fs:[0]
push eax
sub esp, 0x648
mov eax, dword [0x10247db0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x520], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x520]
mov dword [eax], vtable.HSACSEngine.0
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.100e3700
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x520]
add ecx, 0x1c
call fcn.100ba670
mov ecx, dword [ebp - 0x520]
add ecx, 0x3c
call fcn.100aa360
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x520]
add ecx, 0x54
call fcn.100baad0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x520]
add ecx, 0x84
call fcn.100e8350
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x520]
add ecx, 0xa4
call fcn.100bad40
mov ecx, dword [ebp - 0x520]
add ecx, 0xb0
call fcn.100e3770
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x520]
add ecx, 0xf4
call fcn.10045300
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x520]
add ecx, 0x110
call fcn.10044c50
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x520]
add ecx, 0x124
call fcn.100e80d0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x520]
add ecx, 0x130
call fcn.100e80d0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x520]
add ecx, 0x13c
call fcn.100e8050
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x520]
add ecx, 0x178
call fcn.10045300
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x520]
add ecx, 0x198
call fcn.100e3720
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x520]
add ecx, 0x258
call fcn.100e7f60
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x520]
add ecx, 0x264
call fcn.100a0510
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x520]
add ecx, 0x270
call fcn.100baad0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x520]
add ecx, 0x2a0
call fcn.100baad0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x520]
add ecx, 0x2d0
call fcn.100baad0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x520]
add ecx, 0x300
call fcn.100e7ee0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x520]
add ecx, 0x30c
call fcn.100e7df0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x520]
add ecx, 0x32c
call fcn.100aa360
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x520]
add ecx, 0x374
call fcn.10045300
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x520]
add ecx, 0x39c
call fcn.100ba8f0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x520]
add ecx, 0x3f4
call fcn.100ba9f0
mov ecx, dword [ebp - 0x520]
add ecx, 0x400
call fcn.100baa30
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x520]
add ecx, 0x424
call fcn.100aa360
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x520]
add ecx, 0x44c
call fcn.10045300
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x520]
add ecx, 0x538
call fcn.100bae90
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x18], 0
lea ecx, [ebp - 0x51c]
call fcn.100ba670
mov edi, dword [ebp - 0x520]
add edi, 0x1c
mov ecx, 8
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x520]
add ecx, 0x3c
call fcn.100aa380
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x348], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x328], 0
mov ecx, dword [ebp - 0x520]
xor edx, edx
mov dword [ecx + 0x438], 0x1b7740
mov dword [ecx + 0x43c], edx
push 0x100dda50
mov eax, dword [sym.imp.WS2_32.dll_connect]
push eax
call fcn.100020f0
mov dword [0x10266ba8], eax
push 0x100ddce0
mov ecx, dword [sym.imp.WS2_32.dll_WSAConnect]
push ecx
call fcn.100020f0
mov dword [0x10266c18], eax
push 0x100ddcc0
mov edx, dword [sym.imp.WS2_32.dll_WSAStartup]
push edx
call fcn.100020f0
mov dword [0x10266bb4], eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x578], esp
movzx eax, byte [ebp - 0x53d]
push eax
push str.clock
lea ecx, [ebp - 0x38]
call fcn.100fc3d0
mov ecx, eax
call fcn.10071900
push eax
mov ecx, esi
call fcn.100451a0
push 0x4ba
push fcn.10178f80
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x654], esp
movzx ecx, byte [ebp - 0x53e]
push ecx
push str.memcpy
lea ecx, [ebp - 0x48]
call fcn.100fc490
mov ecx, eax
call fcn.1005a600
push eax
mov ecx, esi
call fcn.100451a0
push 0x33d
push fcn.1015c3c0
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x650], esp
movzx edx, byte [ebp - 0x53f]
push edx
push str.memcpy_s
lea ecx, [ebp - 0x9c]
call fcn.100fc570
mov ecx, eax
call fcn.1004dd90
push eax
mov ecx, esi
call fcn.100451a0
push 0x6d
push 0x100ba020
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x64c], esp
movzx eax, byte [ebp - 0x540]
push eax
push str.malloc
lea ecx, [ebp - 0x40]
call fcn.100fc680
mov ecx, eax
call fcn.1005a600
push eax
mov ecx, esi
call fcn.100451a0
push 0xea
push fcn.10175980
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x648], esp
movzx ecx, byte [ebp - 0x541]
push ecx
push 0x1020c2c0
lea ecx, [ebp - 0x440]
call fcn.100fcb10
mov ecx, eax
call fcn.10051ab0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x644], eax
mov byte [ebp - 4], 0x1a
push 6
movzx edx, byte [ebp - 0x542]
push edx
push 0x1020c2ac
lea ecx, [ebp - 0x454]
call fcn.100fc8f0
mov ecx, eax
call fcn.10051ab0
push eax
movzx eax, byte [ebp - 0x543]
push eax
push 0x1020c318
lea ecx, [ebp - 0x19c]
call fcn.100fc760
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x640], esp
movzx ecx, byte [ebp - 0x544]
push ecx
push 0x1020c308
lea ecx, [ebp - 0x1ac]
call fcn.100fd050
mov ecx, eax
call fcn.10071980
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x63c], eax
mov byte [ebp - 4], 0x1b
push 0x2b
movzx edx, byte [ebp - 0x545]
push edx
push 0x1020c2f8
lea ecx, [ebp - 0x1bc]
call fcn.100fcec0
mov ecx, eax
call fcn.10071980
push eax
movzx eax, byte [ebp - 0x546]
push eax
push 0x1020c2e8
lea ecx, [ebp - 0x1cc]
call fcn.100fcd30
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x638], esp
movzx ecx, byte [ebp - 0x547]
push ecx
push str.CreateRemoteThread
lea ecx, [ebp - 0x490]
call fcn.100fd5b0
mov ecx, eax
call fcn.10071a00
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x634], eax
mov byte [ebp - 4], 0x1c
push 0x2c
movzx edx, byte [ebp - 0x548]
push edx
push 0x1020c34c
lea ecx, [ebp - 0x4a4]
call fcn.100fd370
mov ecx, eax
call fcn.10071a00
push eax
movzx eax, byte [ebp - 0x549]
push eax
push 0x1020c33c
lea ecx, [ebp - 0x1dc]
call fcn.100fd1e0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x630], esp
movzx ecx, byte [ebp - 0x54a]
push ecx
push 0x1020c328
lea ecx, [ebp - 0x3a0]
call fcn.100fdb80
mov ecx, eax
call fcn.10071a80
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0x1d
push 0xc
movzx edx, byte [ebp - 0x54b]
push edx
push str.SetThreadContext
lea ecx, [ebp - 0x3b4]
call fcn.100fd980
mov ecx, eax
call fcn.10071a80
push eax
movzx eax, byte [ebp - 0x54c]
push eax
push 0x1020c39c
lea ecx, [ebp - 0x1ec]
call fcn.100fd7f0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x628], esp
movzx ecx, byte [ebp - 0x54d]
push ecx
push 0x1020c388
lea ecx, [ebp - 0x3c8]
call fcn.100fe110
mov ecx, eax
call fcn.10071a80
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x624], eax
mov byte [ebp - 4], 0x1e
push 0xc
movzx edx, byte [ebp - 0x54e]
push edx
push 0x1020c374
lea ecx, [ebp - 0x3dc]
call fcn.100fdf10
mov ecx, eax
call fcn.10071a80
push eax
movzx eax, byte [ebp - 0x54f]
push eax
push 0x1020c3f8
lea ecx, [ebp - 0x1fc]
call fcn.100fdd80
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x620], esp
movzx ecx, byte [ebp - 0x550]
push ecx
push 0x1020c3e4
lea ecx, [ebp - 0x468]
call fcn.100f7f20
mov ecx, eax
call fcn.10051ab0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x1f
push 0x3d
movzx edx, byte [ebp - 0x551]
push edx
push 0x1020c3d0
lea ecx, [ebp - 0x47c]
call fcn.100fe4a0
mov ecx, eax
call fcn.10051ab0
push eax
movzx eax, byte [ebp - 0x552]
push eax
push 0x1020c3c0
lea ecx, [ebp - 0x20c]
call fcn.100fe310
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x618], esp
movzx ecx, byte [ebp - 0x553]
push ecx
push 0x1020c43c
lea ecx, [ebp - 0x4b8]
call fcn.100fea90
mov ecx, eax
call fcn.10071a00
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x614], eax
mov byte [ebp - 4], 0x20
push 0xc
movzx edx, byte [ebp - 0x554]
push edx
push 0x1020c428
lea ecx, [ebp - 0x4cc]
call fcn.100fe850
mov ecx, eax
call fcn.10071a00
push eax
movzx eax, byte [ebp - 0x555]
push eax
push 0x1020c418
lea ecx, [ebp - 0x21c]
call fcn.100fe6c0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x610], esp
movzx ecx, byte [ebp - 0x556]
push ecx
push 0x1020c408
lea ecx, [ebp - 0x22c]
call fcn.100fee60
mov ecx, eax
call fcn.10071980
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x60c], eax
mov byte [ebp - 4], 0x21
push 0x58
movzx edx, byte [ebp - 0x557]
push edx
push 0x1020c480
lea ecx, [ebp - 0x23c]
call fcn.100fecd0
mov ecx, eax
call fcn.10071980
push eax
movzx eax, byte [ebp - 0x53c]
push eax
push 0x1020c470
lea ecx, [ebp - 0x24c]
call fcn.100fecd0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x608], esp
movzx ecx, byte [ebp - 0x558]
push ecx
push str.VirtualAllocEx
lea ecx, [ebp - 0x30c]
call fcn.100ff180
mov ecx, eax
call fcn.1005aca0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x604], eax
mov byte [ebp - 4], 0x22
push 0xc
movzx edx, byte [ebp - 0x559]
push edx
push 0x1020c450
lea ecx, [ebp - 0x2fc]
call fcn.1008eb00
mov ecx, eax
call fcn.1005aca0
push eax
movzx eax, byte [ebp - 0x55a]
push eax
push 0x1020c4c0
lea ecx, [ebp - 0x25c]
call fcn.100feff0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x600], esp
movzx ecx, byte [ebp - 0x55b]
push ecx
push str.VirtualFreeEx
lea ecx, [ebp - 0x2dc]
call fcn.100ff690
mov ecx, eax
call fcn.1005a500
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5fc], eax
mov byte [ebp - 4], 0x23
push 0xc
movzx edx, byte [ebp - 0x55c]
push edx
push 0x1020c4a0
lea ecx, [ebp - 0x2ec]
call fcn.100ff4e0
mov ecx, eax
call fcn.1005a500
push eax
movzx eax, byte [ebp - 0x55d]
push eax
push 0x1020c490
lea ecx, [ebp - 0x26c]
call fcn.100ff350
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5f8], esp
movzx ecx, byte [ebp - 0x55e]
push ecx
push str.VirtualProtectEx
lea ecx, [ebp - 0x3f0]
call fcn.100ffa40
mov ecx, eax
call fcn.10071a80
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 4], 0x24
push 0xc
movzx edx, byte [ebp - 0x55f]
push edx
push 0x1020c4f0
lea ecx, [ebp - 0x404]
call fcn.100ff840
mov ecx, eax
call fcn.10071a80
push eax
movzx eax, byte [ebp - 0x560]
push eax
push 0x1020c4e0
lea ecx, [ebp - 0x27c]
call fcn.10097910
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5f0], esp
movzx ecx, byte [ebp - 0x561]
push ecx
push 0x1020c4d0
lea ecx, [ebp - 0x31c]
call fcn.100ffdd0
mov ecx, eax
call fcn.1005aca0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 0x25
push 0xc
movzx edx, byte [ebp - 0x562]
push edx
push str.VirtualQueryEx
lea ecx, [ebp - 0x32c]
call fcn.1008ede0
mov ecx, eax
call fcn.1005aca0
push eax
movzx eax, byte [ebp - 0x563]
push eax
push 0x1020c530
lea ecx, [ebp - 0x28c]
call fcn.100ffc40
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5e8], esp
movzx ecx, byte [ebp - 0x564]
push ecx
push str.OpenThread
lea ecx, [ebp - 0xfc]
call fcn.10100280
mov ecx, eax
call fcn.1005a680
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x57c], eax
mov byte [ebp - 4], 0x26
push 0xc
movzx edx, byte [ebp - 0x565]
push edx
push 0x1020c518
lea ecx, [ebp - 0xf0]
call fcn.10100130
mov ecx, eax
call fcn.1005a680
push eax
movzx eax, byte [ebp - 0x566]
push eax
push 0x1020c578
lea ecx, [ebp - 0x29c]
call fcn.100fffa0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x580], esp
movzx ecx, byte [ebp - 0x567]
push ecx
push 0x1020c56c
lea ecx, [ebp - 0x15c]
call fcn.101006d0
mov ecx, eax
call fcn.10042b50
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x584], eax
mov byte [ebp - 4], 0x27
push 0xc
movzx edx, byte [ebp - 0x568]
push edx
push 0x1020c560
lea ecx, [ebp - 0x14c]
call fcn.10100560
mov ecx, eax
call fcn.10042b50
push eax
movzx eax, byte [ebp - 0x569]
push eax
push 0x1020c550
lea ecx, [ebp - 0x2ac]
call fcn.101003d0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x588], esp
movzx ecx, byte [ebp - 0x56a]
push ecx
push 0x1020c5b8
lea ecx, [ebp - 0x2bc]
call fcn.10100840
mov ecx, eax
call fcn.10071980
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0x28
push 9
movzx edx, byte [ebp - 0x56b]
push edx
push 0x1020c5a8
lea ecx, [ebp - 0x2cc]
call fcn.100fcec0
mov ecx, eax
call fcn.10071980
push eax
movzx eax, byte [ebp - 0x56c]
push eax
push 0x1020c598
lea ecx, [ebp - 0x17c]
call fcn.10074480
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x590], esp
movzx ecx, byte [ebp - 0x56d]
push ecx
push 0x1020c588
lea ecx, [ebp - 0x33c]
call fcn.10100d30
mov ecx, eax
call fcn.1005aca0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 0x29
push 0x54
movzx edx, byte [ebp - 0x56e]
push edx
push 0x1020c600
lea ecx, [ebp - 0x34c]
call fcn.10100b60
mov ecx, eax
call fcn.1005aca0
push eax
movzx eax, byte [ebp - 0x56f]
push eax
push str.Kernel32.dll
lea ecx, [ebp - 0x18c]
call fcn.101009d0
mov ecx, eax
call fcn.10071980
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x598], esp
movzx ecx, byte [ebp - 0x570]
push ecx
push 0x1020c5dc
lea ecx, [ebp - 0x418]
call fcn.100fdf10
mov ecx, eax
call fcn.10071a80
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 0x2a
push 0xc1
movzx edx, byte [ebp - 0x571]
push edx
push 0x1020c5c8
lea ecx, [ebp - 0x42c]
call fcn.10101050
mov ecx, eax
call fcn.10071a80
push eax
movzx eax, byte [ebp - 0x572]
push eax
push 0x1020c634
lea ecx, [ebp - 0xe4]
call fcn.10100f00
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5a0], esp
movzx ecx, byte [ebp - 0x521]
push ecx
push 0x1020c628
lea ecx, [ebp - 0x13c]
call fcn.10101510
mov ecx, eax
call fcn.10042b50
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5a4], eax
mov byte [ebp - 4], 0x2b
push 0x46
movzx edx, byte [ebp - 0x522]
push edx
push 0x1020c61c
lea ecx, [ebp - 0x16c]
call fcn.101013a0
mov ecx, eax
call fcn.10042b50
push eax
movzx eax, byte [ebp - 0x523]
push eax
push 0x1020c610
lea ecx, [ebp - 0xd8]
call fcn.10101250
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5a8], esp
movzx ecx, byte [ebp - 0x524]
push ecx
push 0x1020c670
lea ecx, [ebp - 0x4e4]
call fcn.10101a30
mov ecx, eax
call fcn.100d6fd0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5ac], eax
mov byte [ebp - 4], 0x2c
push 6
movzx edx, byte [ebp - 0x525]
push edx
push 0x1020c65c
lea ecx, [ebp - 0x4fc]
call fcn.101017d0
mov ecx, eax
call fcn.100d6fd0
push eax
movzx eax, byte [ebp - 0x526]
push eax
push 0x1020c650
lea ecx, [ebp - 0xcc]
call fcn.10101680
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5b0], esp
movzx ecx, byte [ebp - 0x527]
push ecx
push 0x1020c640
lea ecx, [ebp - 0x35c]
call fcn.10101fb0
mov ecx, eax
call fcn.1005aca0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5b4], eax
mov byte [ebp - 4], 0x2d
push 0x77
movzx edx, byte [ebp - 0x528]
push edx
push 0x1020c6b0
lea ecx, [ebp - 0x36c]
call fcn.10101de0
mov ecx, eax
call fcn.1005aca0
push eax
movzx eax, byte [ebp - 0x529]
push eax
push 0x1020c6a4
lea ecx, [ebp - 0xc0]
call fcn.10101c90
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5b8], esp
movzx ecx, byte [ebp - 0x52a]
push ecx
push str.GetWindowTextW
lea ecx, [ebp - 0x37c]
call fcn.101024a0
mov ecx, eax
call fcn.1005aca0
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 0x2e
push 0x29d
movzx edx, byte [ebp - 0x52b]
push edx
push 0x1020c684
lea ecx, [ebp - 0x38c]
call fcn.101022d0
mov ecx, eax
call fcn.1005aca0
push eax
movzx eax, byte [ebp - 0x52c]
push eax
push str.User32.dll
lea ecx, [ebp - 0xb4]
call fcn.10102180
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5c0], esp
movzx ecx, byte [ebp - 0x52d]
push ecx
push str.connect
lea ecx, [ebp - 0x90]
call fcn.10102770
mov ecx, eax
call fcn.1004de10
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5c4], eax
mov byte [ebp - 4], 0x2f
push 0x181
movzx edx, byte [ebp - 0x52e]
push edx
push 0x1020c6cc
lea ecx, [ebp - 0x84]
call fcn.10102670
mov ecx, eax
call fcn.1004de10
push eax
movzx eax, byte [ebp - 0x52f]
push eax
push 0x1020c6c0
lea ecx, [ebp - 0xa8]
call fcn.1005c7c0
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5c8], esp
movzx ecx, byte [ebp - 0x530]
push ecx
push str.recv
lea ecx, [ebp - 0x30]
call fcn.10102a60
mov ecx, eax
call fcn.1004df10
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5cc], eax
mov byte [ebp - 4], 0x30
push 0x175
movzx edx, byte [ebp - 0x531]
push edx
push 0x1020c6fc
lea ecx, [ebp - 0x28]
call fcn.101029c0
mov ecx, eax
call fcn.1004df10
push eax
movzx eax, byte [ebp - 0x532]
push eax
push 0x1020c6f0
lea ecx, [ebp - 0x108]
call fcn.10102870
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5d0], esp
movzx ecx, byte [ebp - 0x533]
push ecx
push 0x1020c6e8
lea ecx, [ebp - 0x18]
call fcn.10102cf0
mov ecx, eax
call fcn.1004df10
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5d4], eax
mov byte [ebp - 4], 0x31
push 0xb2
movzx edx, byte [ebp - 0x534]
push edx
push str.send
lea ecx, [ebp - 0x20]
call fcn.10102c50
mov ecx, eax
call fcn.1004df10
push eax
movzx eax, byte [ebp - 0x535]
push eax
push 0x1020c71c
lea ecx, [ebp - 0x12c]
call fcn.10102b00
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5d8], esp
movzx ecx, byte [ebp - 0x536]
push ecx
push str.WSARecv
lea ecx, [ebp - 0x78]
call fcn.10102fe0
mov ecx, eax
call fcn.1004de10
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 0x32
push 0x2f5
movzx edx, byte [ebp - 0x537]
push edx
push 0x1020c70c
lea ecx, [ebp - 0x6c]
call fcn.10102ee0
mov ecx, eax
call fcn.1004de10
push eax
movzx eax, byte [ebp - 0x538]
push eax
push str.Ws2_32.dll
lea ecx, [ebp - 0x120]
call fcn.10102d90
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5e0], esp
movzx ecx, byte [ebp - 0x539]
push ecx
push str.WSASend
lea ecx, [ebp - 0x60]
call fcn.10103330
mov ecx, eax
call fcn.1004de10
push eax
mov ecx, esi
call fcn.100451a0
mov dword [ebp - 0x5e4], eax
mov byte [ebp - 4], 0x33
push 0x2f5
movzx edx, byte [ebp - 0x53a]
push edx
push 0x1020c73c
lea ecx, [ebp - 0x54]
call fcn.10103230
mov ecx, eax
call fcn.1004de10
push eax
movzx eax, byte [ebp - 0x53b]
push eax
push 0x1020c730
lea ecx, [ebp - 0x114]
call fcn.101030e0
mov ecx, eax
call fcn.1005a680
push eax
call fcn.100e1d40
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x19
call fcn.1007caf0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x48], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x49], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4f], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x50], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4a], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4b], 1
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x4c], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4e], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4d], 0
mov ecx, dword [ebp - 0x520]
xor edx, edx
xor eax, eax
mov dword [ecx + 0x90], edx
mov dword [ecx + 0x94], eax
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x98], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x155], 1
push 0x101f195f
mov ecx, dword [ebp - 0x520]
add ecx, 0x178
call fcn.10045050
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x154], 1
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x520]
add ecx, 0x374
call fcn.10045070
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x23c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x15c], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x398], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x3fd], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x3fc], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x238], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x240], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x241], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x318], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x36c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x468], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x46c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x470], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x324], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x474], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x47c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x480], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x484], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x488], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x48c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x490], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x494], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x498], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x49c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4e4], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4f0], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4f4], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x530], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x534], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x370], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4a0], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4a4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4ac], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4fc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x500], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x504], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4b0], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4b4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4b8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4bc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4ec], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x370], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4c0], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4c4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4c8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4cc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4d0], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4d8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4dc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4e0], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4e8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x50c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x510], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x51c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x520], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x478], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x524], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x528], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x52c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x514], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x518], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4d4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4f8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x394], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x390], 1
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x391], 1
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x392], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0x44c
call fcn.100a2ec0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x448], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x449], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x431], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x432], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x435], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x433], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x434], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x244], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x430], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x437], 0
mov ecx, dword [ebp - 0x520]
call fcn.100dfb50
mov ecx, dword [ebp - 0x520]
mov ecx, dword [ecx + 0x36c]
call fcn.1012e8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.100450b0
mov eax, dword [ebp - 0x520]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10159b70
mov esp, ebp
pop ebp
ret 0x1c