Function at 0x100c40f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101b0447
mov eax, dword fs:[0]
push eax
sub esp, 0x668
mov eax, dword [0x10226180]
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.PearlEngine.0
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.100c5cf0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x520]
add ecx, 0x1c
call fcn.1009ad90
mov ecx, dword [ebp - 0x520]
add ecx, 0x3c
call fcn.1008a890
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x520]
add ecx, 0x54
call fcn.1009b4a0
mov ecx, dword [ebp - 0x520]
add ecx, 0x84
call fcn.100cb340
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x99], 1
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x9a], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0xb4
call fcn.1009b7a0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0xc0], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0xc4
call fcn.100c5d10
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x520]
add ecx, 0x108
call fcn.10009100
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x520]
add ecx, 0x124
call fcn.10008a60
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x520]
add ecx, 0x138
call fcn.100cb560
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x520]
add ecx, 0x144
call fcn.100cb560
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x520]
add ecx, 0x150
call fcn.100cb4e0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x520]
add ecx, 0x1a0
call fcn.10009100
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x520]
add ecx, 0x1c0
call fcn.1009adf0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x264], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x265], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x266], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x267], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x268], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0x280
call fcn.100cb3f0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x520]
add ecx, 0x28c
call fcn.10080af0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x520]
add ecx, 0x298
call fcn.1009b4a0
mov ecx, dword [ebp - 0x520]
add ecx, 0x2c8
call fcn.1009b4a0
mov ecx, dword [ebp - 0x520]
add ecx, 0x2f8
call fcn.1009b4a0
mov ecx, dword [ebp - 0x520]
add ecx, 0x328
call fcn.100cb340
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x520]
add ecx, 0x348
call fcn.1008a890
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x520]
add ecx, 0x3c0
call fcn.10009100
mov byte [ebp - 4], 0x10
xor eax, eax
mov ecx, dword [ebp - 0x520]
mov word [ecx + 0x3e8], ax
mov ecx, dword [ebp - 0x520]
add ecx, 0x3ec
call fcn.1009b1c0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x520]
add ecx, 0x4c4
call fcn.1009b380
mov ecx, dword [ebp - 0x520]
add ecx, 0x4cc
call fcn.1009b360
push fcn.100156c0
push fcn.10008a60
push 0x3e7
push 0x10
mov edx, dword [ebp - 0x520]
add edx, 0x4d0
push edx
call fcn.101516a0
mov byte [ebp - 4], 0x12
or eax, 0xffffffff
mov ecx, dword [ebp - 0x520]
mov word [ecx + 0x435a], ax
mov ecx, dword [ebp - 0x520]
add ecx, 0x4360
call fcn.1009b3c0
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4384], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0x4388
call fcn.1008a890
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x520]
add ecx, 0x43b0
call fcn.10009100
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x520]
add ecx, 0x44b0
call fcn.1009b900
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x18], 0
lea ecx, [ebp - 0x51c]
call fcn.1009ad90
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.1008a8b0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x374], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x344], 0
mov eax, dword [ebp - 0x520]
xor ecx, ecx
mov dword [eax + 0x43a0], 0x1b7740
mov dword [eax + 0x43a4], ecx
push 0x100c0820
mov edx, dword [sym.imp.WS2_32.dll_connect]
push edx
call fcn.100010f0
mov dword [0x10229b28], eax
push 0x100c08f0
mov eax, dword [sym.imp.WS2_32.dll_WSAConnect]
push eax
call fcn.100010f0
mov dword [0x10229b90], eax
push 0x100c08d0
mov ecx, dword [sym.imp.WS2_32.dll_WSAStartup]
push ecx
call fcn.100010f0
mov dword [0x10229b30], eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x588], esp
movzx edx, byte [ebp - 0x546]
push edx
push str.clock
lea ecx, [ebp - 0x38]
call fcn.100de190
mov ecx, eax
call fcn.1001d290
push eax
mov ecx, esi
call fcn.10008f80
push 0x4ba
push fcn.101752d0
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x664], esp
movzx eax, byte [ebp - 0x547]
push eax
push str.memcpy
lea ecx, [ebp - 0x48]
call fcn.100de250
mov ecx, eax
call fcn.1001d210
push eax
mov ecx, esi
call fcn.10008f80
push 0x33d
push fcn.10153440
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x660], esp
movzx ecx, byte [ebp - 0x548]
push ecx
push str.memcpy_s
lea ecx, [ebp - 0x9c]
call fcn.100127c0
mov ecx, eax
call fcn.100111e0
push eax
mov ecx, esi
call fcn.10008f80
push 0x6d
push 0x1009a660
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x65c], esp
movzx edx, byte [ebp - 0x549]
push edx
push str.malloc
lea ecx, [ebp - 0x40]
call fcn.1002a210
mov ecx, eax
call fcn.1001d210
push eax
mov ecx, esi
call fcn.10008f80
push 0xea
push fcn.10172960
mov ecx, dword [ebp - 0x520]
add ecx, 8
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x658], esp
movzx eax, byte [ebp - 0x54a]
push eax
push 0x101f2858
lea ecx, [ebp - 0x440]
call fcn.100de4c0
mov ecx, eax
call fcn.10015070
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x654], eax
mov byte [ebp - 4], 0x16
push 6
movzx ecx, byte [ebp - 0x54b]
push ecx
push 0x101f286c
lea ecx, [ebp - 0x454]
call fcn.100416b0
mov ecx, eax
call fcn.10015070
push eax
movzx edx, byte [ebp - 0x54c]
push edx
push 0x101f2880
lea ecx, [ebp - 0x1bc]
call fcn.100de330
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x650], esp
movzx eax, byte [ebp - 0x54d]
push eax
push 0x101f28f8
lea ecx, [ebp - 0x1cc]
call fcn.100dea00
mov ecx, eax
call fcn.1003f7c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x64c], eax
mov byte [ebp - 4], 0x17
push 0x2b
movzx ecx, byte [ebp - 0x54e]
push ecx
push 0x101f2908
lea ecx, [ebp - 0x1dc]
call fcn.100de870
mov ecx, eax
call fcn.1003f7c0
push eax
movzx edx, byte [ebp - 0x54f]
push edx
push 0x101f2918
lea ecx, [ebp - 0x1ec]
call fcn.100de6e0
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x648], esp
movzx eax, byte [ebp - 0x550]
push eax
push str.CreateRemoteThread
lea ecx, [ebp - 0x490]
call fcn.100def60
mov ecx, eax
call fcn.1003f840
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x644], eax
mov byte [ebp - 4], 0x18
push 0x2c
movzx ecx, byte [ebp - 0x551]
push ecx
push 0x101f28ac
lea ecx, [ebp - 0x4a4]
call fcn.100ded20
mov ecx, eax
call fcn.1003f840
push eax
movzx edx, byte [ebp - 0x552]
push edx
push 0x101f28c0
lea ecx, [ebp - 0x1fc]
call fcn.100deb90
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x640], esp
movzx eax, byte [ebp - 0x553]
push eax
push 0x101f28d0
lea ecx, [ebp - 0x3dc]
call fcn.10044270
mov ecx, eax
call fcn.1003f8c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x63c], eax
mov byte [ebp - 4], 0x19
push 0xc
movzx ecx, byte [ebp - 0x554]
push ecx
push str.SetThreadContext
lea ecx, [ebp - 0x3f0]
call fcn.100df330
mov ecx, eax
call fcn.1003f8c0
push eax
movzx edx, byte [ebp - 0x555]
push edx
push 0x101f2988
lea ecx, [ebp - 0x20c]
call fcn.100df1a0
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x638], esp
movzx eax, byte [ebp - 0x556]
push eax
push 0x101f2998
lea ecx, [ebp - 0x3a0]
call fcn.100df730
mov ecx, eax
call fcn.1003f8c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x634], eax
mov byte [ebp - 4], 0x1a
push 0xc
movzx ecx, byte [ebp - 0x557]
push ecx
push str.GetThreadContext
lea ecx, [ebp - 0x3c8]
call fcn.100df530
mov ecx, eax
call fcn.1003f8c0
push eax
movzx edx, byte [ebp - 0x558]
push edx
push 0x101f29c0
lea ecx, [ebp - 0x21c]
call fcn.100dda40
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x630], esp
movzx eax, byte [ebp - 0x559]
push eax
push 0x101f293c
lea ecx, [ebp - 0x468]
call fcn.100dfce0
mov ecx, eax
call fcn.10015070
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x62c], eax
mov byte [ebp - 4], 0x1b
push 0x3d
movzx ecx, byte [ebp - 0x55a]
push ecx
push 0x101f2950
lea ecx, [ebp - 0x47c]
call fcn.100dfac0
mov ecx, eax
call fcn.10015070
push eax
movzx edx, byte [ebp - 0x55b]
push edx
push 0x101f2964
lea ecx, [ebp - 0x22c]
call fcn.100df930
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x628], esp
movzx eax, byte [ebp - 0x55c]
push eax
push 0x101f2974
lea ecx, [ebp - 0x4b8]
call fcn.100e02d0
mov ecx, eax
call fcn.1003f840
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x624], eax
mov byte [ebp - 4], 0x1c
push 0xc
movzx ecx, byte [ebp - 0x55d]
push ecx
push 0x101f2a10
lea ecx, [ebp - 0x4cc]
call fcn.100e0090
mov ecx, eax
call fcn.1003f840
push eax
movzx edx, byte [ebp - 0x55e]
push edx
push 0x101f2a24
lea ecx, [ebp - 0x23c]
call fcn.100dff00
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x620], esp
movzx eax, byte [ebp - 0x55f]
push eax
push 0x101f2a34
lea ecx, [ebp - 0x24c]
call fcn.100e06a0
mov ecx, eax
call fcn.1003f7c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 0x1d
push 0x58
movzx ecx, byte [ebp - 0x560]
push ecx
push 0x101f2a44
lea ecx, [ebp - 0x25c]
call fcn.100e0510
mov ecx, eax
call fcn.1003f7c0
push eax
movzx edx, byte [ebp - 0x561]
push edx
push 0x101f29d0
lea ecx, [ebp - 0x26c]
call fcn.100422b0
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x618], esp
movzx eax, byte [ebp - 0x545]
push eax
push 0x101f29e0
lea ecx, [ebp - 0x2fc]
call fcn.100e0b90
mov ecx, eax
call fcn.10020cd0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x614], eax
mov byte [ebp - 4], 0x1e
push 0xc
movzx ecx, byte [ebp - 0x562]
push ecx
push str.VirtualAllocEx
lea ecx, [ebp - 0x30c]
call fcn.100e09c0
mov ecx, eax
call fcn.10020cd0
push eax
movzx edx, byte [ebp - 0x563]
push edx
push 0x101f2a00
lea ecx, [ebp - 0x27c]
call fcn.100e0830
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x610], esp
movzx eax, byte [ebp - 0x564]
push eax
push 0x101f2a98
lea ecx, [ebp - 0x2dc]
call fcn.100e10a0
mov ecx, eax
call fcn.100206a0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 4], 0x1f
push 0xc
movzx ecx, byte [ebp - 0x565]
push ecx
push str.VirtualFreeEx
lea ecx, [ebp - 0x2ec]
call fcn.100e0ef0
mov ecx, eax
call fcn.100206a0
push eax
movzx edx, byte [ebp - 0x566]
push edx
push 0x101f2ab8
lea ecx, [ebp - 0x28c]
call fcn.100e0d60
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x60c], esp
movzx eax, byte [ebp - 0x567]
push eax
push str.VirtualProtectEx
lea ecx, [ebp - 0x3b4]
call fcn.100e15e0
mov ecx, eax
call fcn.1003f8c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x608], eax
mov byte [ebp - 4], 0x20
push 0xc
movzx ecx, byte [ebp - 0x568]
push ecx
push 0x101f2a54
lea ecx, [ebp - 0x404]
call fcn.100e13e0
mov ecx, eax
call fcn.1003f8c0
push eax
movzx edx, byte [ebp - 0x569]
push edx
push 0x101f2a68
lea ecx, [ebp - 0x29c]
call fcn.100e1250
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5f8], esp
movzx eax, byte [ebp - 0x56a]
push eax
push 0x101f2a78
lea ecx, [ebp - 0x31c]
call fcn.100e19b0
mov ecx, eax
call fcn.10020cd0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0x21
push 0xc
movzx ecx, byte [ebp - 0x56b]
push ecx
push str.VirtualQueryEx
lea ecx, [ebp - 0x32c]
call fcn.100e17e0
mov ecx, eax
call fcn.10020cd0
push eax
movzx edx, byte [ebp - 0x56c]
push edx
push 0x101f2b14
lea ecx, [ebp - 0x2ac]
call fcn.100e1250
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x590], esp
movzx eax, byte [ebp - 0x56d]
push eax
push 0x101f2b24
lea ecx, [ebp - 0xd8]
call fcn.100e1cd0
mov ecx, eax
call fcn.10020720
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 0x22
push 0xc
movzx ecx, byte [ebp - 0x56e]
push ecx
push str.OpenThread
lea ecx, [ebp - 0xcc]
call fcn.100e1b80
mov ecx, eax
call fcn.10020720
push eax
movzx edx, byte [ebp - 0x56f]
push edx
push 0x101f2b3c
lea ecx, [ebp - 0x2bc]
call fcn.100df930
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x598], esp
movzx eax, byte [ebp - 0x570]
push eax
push 0x101f2adc
lea ecx, [ebp - 0x15c]
call fcn.100e2120
mov ecx, eax
call fcn.10006c00
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 0x23
push 0xc
movzx ecx, byte [ebp - 0x571]
push ecx
push 0x101f2ae8
lea ecx, [ebp - 0x14c]
call fcn.100e1fb0
mov ecx, eax
call fcn.10006c00
push eax
movzx edx, byte [ebp - 0x572]
push edx
push 0x101f2af4
lea ecx, [ebp - 0x2cc]
call fcn.100e1e20
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5a0], esp
movzx eax, byte [ebp - 0x573]
push eax
push 0x101f2b04
lea ecx, [ebp - 0x17c]
call fcn.100e25b0
mov ecx, eax
call fcn.1003f7c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5a4], eax
mov byte [ebp - 4], 0x24
push 9
movzx ecx, byte [ebp - 0x574]
push ecx
push 0x101f2b90
lea ecx, [ebp - 0x18c]
call fcn.100e2420
mov ecx, eax
call fcn.1003f7c0
push eax
movzx edx, byte [ebp - 0x575]
push edx
push str.Kernel32.dll
lea ecx, [ebp - 0x19c]
call fcn.100e2290
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5a8], esp
movzx eax, byte [ebp - 0x576]
push eax
push 0x101f2bb0
lea ecx, [ebp - 0x33c]
call fcn.100e2aa0
mov ecx, eax
call fcn.10020cd0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5ac], eax
mov byte [ebp - 4], 0x25
push 0x54
movzx ecx, byte [ebp - 0x577]
push ecx
push 0x101f2bc0
lea ecx, [ebp - 0x34c]
call fcn.100e28d0
mov ecx, eax
call fcn.10020cd0
push eax
movzx edx, byte [ebp - 0x578]
push edx
push 0x101f2b4c
lea ecx, [ebp - 0x1ac]
call fcn.100e2740
mov ecx, eax
call fcn.1003f7c0
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5b0], esp
movzx eax, byte [ebp - 0x579]
push eax
push 0x101f2b5c
lea ecx, [ebp - 0x418]
call fcn.100e2fc0
mov ecx, eax
call fcn.1003f8c0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5b4], eax
mov byte [ebp - 4], 0x26
push 0xc1
movzx ecx, byte [ebp - 0x57a]
push ecx
push 0x101f2b70
lea ecx, [ebp - 0x42c]
call fcn.100e2dc0
mov ecx, eax
call fcn.1003f8c0
push eax
movzx edx, byte [ebp - 0x57b]
push edx
push 0x101f2b84
lea ecx, [ebp - 0xc0]
call fcn.100e2c70
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5b8], esp
movzx eax, byte [ebp - 0x529]
push eax
push 0x101f2c10
lea ecx, [ebp - 0x13c]
call fcn.100e1fb0
mov ecx, eax
call fcn.10006c00
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 0x27
push 0x46
movzx ecx, byte [ebp - 0x52a]
push ecx
push 0x101f2c1c
lea ecx, [ebp - 0x16c]
call fcn.100e31c0
mov ecx, eax
call fcn.10006c00
push eax
movzx edx, byte [ebp - 0x52b]
push edx
push 0x101f2c28
lea ecx, [ebp - 0xb4]
call fcn.1002a980
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5c0], esp
movzx eax, byte [ebp - 0x52c]
push eax
push 0x101f2c34
lea ecx, [ebp - 0x4e4]
call fcn.100e36e0
mov ecx, eax
call fcn.10075210
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5c4], eax
mov byte [ebp - 4], 0x28
push 6
movzx ecx, byte [ebp - 0x52d]
push ecx
push 0x101f2bd0
lea ecx, [ebp - 0x4fc]
call fcn.100e3480
mov ecx, eax
call fcn.10075210
push eax
movzx edx, byte [ebp - 0x52e]
push edx
push 0x101f2be4
lea ecx, [ebp - 0xa8]
call fcn.100e3330
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5c8], esp
movzx eax, byte [ebp - 0x52f]
push eax
push 0x101f2bf0
lea ecx, [ebp - 0x35c]
call fcn.100e3c60
mov ecx, eax
call fcn.10020cd0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5cc], eax
mov byte [ebp - 4], 0x29
push 0x77
movzx ecx, byte [ebp - 0x530]
push ecx
push 0x101f2c00
lea ecx, [ebp - 0x36c]
call fcn.100e3a90
mov ecx, eax
call fcn.10020cd0
push eax
movzx edx, byte [ebp - 0x531]
push edx
push 0x101f2c6c
lea ecx, [ebp - 0xe4]
call fcn.100e3940
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5d0], esp
movzx eax, byte [ebp - 0x532]
push eax
push 0x101f2c78
lea ecx, [ebp - 0x37c]
call fcn.100e4000
mov ecx, eax
call fcn.10020cd0
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5d4], eax
mov byte [ebp - 4], 0x2a
push 0x29d
movzx ecx, byte [ebp - 0x533]
push ecx
push str.GetWindowTextW
lea ecx, [ebp - 0x38c]
call fcn.100e3e30
mov ecx, eax
call fcn.10020cd0
push eax
movzx edx, byte [ebp - 0x534]
push edx
push str.User32.dll
lea ecx, [ebp - 0xfc]
call fcn.100e3330
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5d8], esp
movzx eax, byte [ebp - 0x535]
push eax
push 0x101f2c48
lea ecx, [ebp - 0x90]
call fcn.10023090
mov ecx, eax
call fcn.10011260
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 0x2b
push 0x181
movzx ecx, byte [ebp - 0x536]
push ecx
push str.connect
lea ecx, [ebp - 0x84]
call fcn.100e4320
mov ecx, eax
call fcn.10011260
push eax
movzx edx, byte [ebp - 0x537]
push edx
push 0x101f2c58
lea ecx, [ebp - 0xf0]
call fcn.100e41d0
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5e0], esp
movzx eax, byte [ebp - 0x538]
push eax
push 0x101f2c64
lea ecx, [ebp - 0x30]
call fcn.100e4610
mov ecx, eax
call fcn.10011360
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5e4], eax
mov byte [ebp - 4], 0x2c
push 0x175
movzx ecx, byte [ebp - 0x539]
push ecx
push str.recv
lea ecx, [ebp - 0x28]
call fcn.100e4570
mov ecx, eax
call fcn.10011360
push eax
movzx edx, byte [ebp - 0x53a]
push edx
push 0x101f2cd4
lea ecx, [ebp - 0x12c]
call fcn.100e4420
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5e8], esp
movzx eax, byte [ebp - 0x53b]
push eax
push 0x101f2ce0
lea ecx, [ebp - 0x20]
call fcn.100e48a0
mov ecx, eax
call fcn.10011360
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 0x2d
push 0xb2
movzx ecx, byte [ebp - 0x53c]
push ecx
push str.send
lea ecx, [ebp - 0x18]
call fcn.100e4800
mov ecx, eax
call fcn.10011360
push eax
movzx edx, byte [ebp - 0x53d]
push edx
push 0x101f2ca4
lea ecx, [ebp - 0x120]
call fcn.100e46b0
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x5f0], esp
movzx eax, byte [ebp - 0x53e]
push eax
push 0x101f2cb0
lea ecx, [ebp - 0x54]
call fcn.100e4b90
mov ecx, eax
call fcn.10011260
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x5fc], eax
mov byte [ebp - 4], 0x2e
push 0x2f5
movzx ecx, byte [ebp - 0x53f]
push ecx
push str.WSARecv
lea ecx, [ebp - 0x78]
call fcn.100e4a90
mov ecx, eax
call fcn.10011260
push eax
movzx edx, byte [ebp - 0x540]
push edx
push 0x101f2cc0
lea ecx, [ebp - 0x114]
call fcn.100e4940
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x600], esp
movzx eax, byte [ebp - 0x541]
push eax
push 0x101f2d44
lea ecx, [ebp - 0x6c]
call fcn.100e4ee0
mov ecx, eax
call fcn.10011260
push eax
mov ecx, esi
call fcn.10008f80
mov dword [ebp - 0x604], eax
mov byte [ebp - 4], 0x2f
push 0x2f5
movzx ecx, byte [ebp - 0x542]
push ecx
push str.WSASend
lea ecx, [ebp - 0x60]
call fcn.100e4de0
mov ecx, eax
call fcn.10011260
push eax
movzx edx, byte [ebp - 0x543]
push edx
push str.Ws2_32.dll
lea ecx, [ebp - 0x108]
call fcn.100e4c90
mov ecx, eax
call fcn.10020720
push eax
call fcn.100c40d0
add esp, 8
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 8
mov byte [ebp - 4], 0x15
call fcn.10051210
nop
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x48], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x49], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4f], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x50], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x4a], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4b], 1
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4c], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x4e], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4d], 0
mov eax, dword [ebp - 0x520]
xor ecx, ecx
xor edx, edx
mov dword [eax + 0x90], ecx
mov dword [eax + 0x94], edx
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x9c], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x169], 1
push 0x101d1909
mov ecx, dword [ebp - 0x520]
add ecx, 0x1a0
call fcn.10008e10
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x168], 1
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp - 0x520]
add ecx, 0x3c0
call fcn.10008e30
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x25c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x170], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x3e4], 0
xor ecx, ecx
mov edx, dword [ebp - 0x520]
mov word [edx + 0x3e8], cx
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x3e5], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x3e6], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4340], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x435d], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x435c], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x258], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x260], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x261], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x262], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x263], 1
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x334], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x3b8], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x43cc], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x43d0], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x43d4], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x340], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x43d8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x43e0], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x43e4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x43e8], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x43ec], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x43f0], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x43f4], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x43f8], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x43fc], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4400], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4448], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4454], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4458], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x3bc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4404], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4408], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x440c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4460], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4464], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4468], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4410], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4414], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4418], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x441c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4430], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4450], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x3bc], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4420], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4424], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4428], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x442c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4434], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x443c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4440], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4444], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x444c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4470], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4474], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4480], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4484], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x43dc], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4488], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x448c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4490], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4494], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x4478], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x447c], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x4438], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x445c], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x4498], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x449c], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x44a0], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x44a8], 0
mov eax, dword [ebp - 0x520]
mov dword [eax + 0x44ac], 0
mov ecx, dword [ebp - 0x520]
mov dword [ecx + 0x44a4], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x3e0], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x3dc], 1
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x3dd], 1
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x3de], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x98], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x439b], 0
mov ecx, dword [ebp - 0x520]
add ecx, 0x43b0
call fcn.1007daf0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4396], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4397], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x439c], 0
mov edx, dword [ebp - 0x520]
mov byte [edx + 0x4399], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x439a], 0
mov ecx, dword [ebp - 0x520]
mov byte [ecx + 0x4398], 0
mov edx, dword [ebp - 0x520]
mov dword [edx + 0x26c], 0
mov eax, dword [ebp - 0x520]
mov byte [eax + 0x4395], 0
mov dword [ebp - 0x524], 0
jmp 0x100c5bd2
mov ecx, dword [ebp - 0x524]
add ecx, 1
mov dword [ebp - 0x524], ecx
cmp dword [ebp - 0x524], 0x3e7
jge 0x100c5c3e
mov dword [ebp - 0x580], 0
lea ecx, [ebp - 0x544]
call fcn.100072f0
push eax
lea edx, [ebp - 0x580]
push edx
push 1
lea ecx, [ebp - 0x674]
call fcn.100cc200
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x584]
push eax
mov ecx, dword [ebp - 0x524]
shl ecx, 4
mov edx, dword [ebp - 0x520]
lea ecx, [edx + ecx + 0x4d0]
call fcn.100cc190
lea ecx, [ebp - 0x674]
call fcn.100156c0
nop
jmp 0x100c5bc3
mov dword [ebp - 0x528], 0
jmp 0x100c5c59
mov eax, dword [ebp - 0x528]
add eax, 1
mov dword [ebp - 0x528], eax
cmp dword [ebp - 0x528], 0xa
jge 0x100c5c7a
xor ecx, ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x520]
mov word [eax + edx*2 + 0x4344], cx
jmp 0x100c5c4a
or ecx, 0xffffffff
mov edx, dword [ebp - 0x520]
mov word [edx + 0x435a], cx
mov ecx, dword [ebp - 0x520]
add ecx, 0x1c0
call fcn.1009ae80
mov ecx, dword [ebp - 0x520]
call fcn.100c1f10
mov eax, dword [ebp - 0x520]
mov ecx, dword [eax + 0x3b8]
call fcn.10005020
nop
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10008ea0
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.10150c60
mov esp, ebp
pop ebp
ret 0x1c