Function at 0x100b2930
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102fb613
mov eax, dword fs:[0]
push eax
sub esp, 0x720
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x60c], ebx
call fcn.100ce874
push 0xffffff
push 1
push 0x10
lea esi, [ebx + 0xca8]
mov dword [ebx + 0xca0], 0
push 0x2723
mov ecx, esi
mov dword [ebx + 0xca4], 0
call fcn.100d76e0
lea ecx, [ebx + 0x4ac]
mov dword [ebx + 0x5d4], esi
mov dword [ebx + 0x410], 1
mov eax, dword [ecx]
push 0xe0ffff
call dword [eax + 0x24]
lea ecx, [ebx + 0x954]
mov dword [ebx + 0xa7c], esi
mov dword [ebx + 0x8b8], 1
mov eax, dword [ecx]
push 0xe0ffff
call dword [eax + 0x24]
mov ecx, ebx
call fcn.100b23b0
mov ecx, ebx
call fcn.100b3fe0
push 0
lea ecx, [ebx + 0x350]
mov dword [ebx + 0x42c], 1
mov dword [ebx + 0x428], 1
mov dword [ebx + 0x450], 1
call fcn.1000cf60
push 0x1001b380
lea ecx, [ebx + 0x350]
call fcn.10019460
push 0
lea ecx, [ebx + 0x7f8]
mov dword [ebx + 0x8d4], 1
mov dword [ebx + 0x8d0], 1
mov dword [ebx + 0x8f8], 1
call fcn.1000cf60
push 0x1001b380
lea ecx, [ebx + 0x7f8]
call fcn.10019460
push str.none
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM1
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM2
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM3
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM4
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM5
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM6
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM7
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM8
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.COM9
push 0
push 0x143
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
push str.19200
push 0
push 0x143
push 0xfa4
mov ecx, ebx
call fcn.100cda2f
push str.115200
push 0
push 0x143
push 0xfa4
mov ecx, ebx
call fcn.100cda2f
push 0
push dword [0x103c9574]
mov ecx, ebx
push 0x14e
push 0xfa2
call fcn.100cda2f
push 0
push dword [0x103c9578]
mov ecx, ebx
push 0x14e
push 0xfa4
call fcn.100cda2f
push 0xffffffffffffffff
push 0x64
push 0
lea edi, [ebx + 0xcb0]
push str.Serial
push 0
mov ecx, edi
mov dword [ebp - 0x610], edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x64
push 0
push 0x1032d100
push 1
mov ecx, edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x64
push 0
push 0x1031bac0
push 2
mov ecx, edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x32
push 0
push 0x1032d108
push 3
mov ecx, edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x32
push 0
push str.Bucky
push 4
mov ecx, edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x32
push 0
push str.Ping
push 5
mov ecx, edi
call fcn.100d894d
push 0xffffffffffffffff
push 0x32
push 0
push str.Disable
push 6
mov ecx, edi
call fcn.100d894d
xorps xmm0, xmm0
mov dword [ebp - 0x6d8], 0
movlpd qword [ebp - 0x708], xmm0
movlpd qword [ebp - 0x700], xmm0
movlpd qword [ebp - 0x6f8], xmm0
movlpd qword [ebp - 0x6f0], xmm0
movlpd qword [ebp - 0x6e8], xmm0
movlpd qword [ebp - 0x6e0], xmm0
mov dword [ebp - 0x710], 1
mov dword [ebp - 0x70c], 0
call fcn.100c3b5c
push 0x100
lea ecx, [ebp - 0x1f8]
push ecx
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x1f8]
push 0x5c
push eax
call fcn.102a1020
lea ecx, [ebp - 0x1f8]
add esp, 8
lea edx, [ecx + 1]
mov byte [eax], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b2cd1
mov ax, word [0x10320aec]
lea esi, [ebx + 0xc4]
movq xmm0, qword [str.SHARE.INI]
sub ecx, edx
movq qword [ebp + ecx - 0x1f8], xmm0
mov word [ebp + ecx - 0x1f0], ax
mov al, byte [0x10320aee]
mov byte [ebp + ecx - 0x1ee], al
lea eax, [ebp - 0x1f8]
push eax
mov ecx, esi
call fcn.10008060
push 0x10320af0
mov ecx, esi
call fcn.10008160
push 0
push 0x10320af8
mov ecx, esi
call fcn.10007e40
push 0
push 0x10320afc
mov ecx, esi
mov dword [ebp - 0x638], eax
call fcn.10007e40
push 0x1031b50e
push 0x103c9fc4
push 0x1031f318
mov ecx, esi
mov dword [0x103ca01c], eax
call fcn.10007ec0
push 0x1031b50e
push 0x103c9fec
push 0x10320b04
mov ecx, esi
call fcn.10007ec0
push 0x103c9fc4
push 0x1005
mov ecx, ebx
call fcn.100cdaf4
push 0x103c9fec
push 0x1006
mov ecx, ebx
call fcn.100cdaf4
push dword [0x103ca01c]
mov ecx, ebx
push 0x1195
call fcn.100ccd1c
push dword [0x103ca01c]
mov ecx, ebx
push 0x1388
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1389
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x11ff
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0xfa4
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0xfa2
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1005
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1006
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
cmp dword [0x103ca01c], 0
je 0x100b2e99
cmp dword [0x103ca014], 0
mov dword [0x103c977c], 1
mov dword [0x103c9774], 1
je 0x100b2e8e
mov ecx, dword [0x103c911c]
call fcn.1009a330
jmp 0x100b2e99
mov ecx, dword [0x103c9140]
call fcn.100aec10
mov esi, 1
mov dword [ebp - 0x63c], esi
cmp dword [ebp - 0x638], esi
jl 0x100b3f1c
push esi
lea eax, [ebp - 0x20]
push str.Reg_d
push eax
call fcn.100029e0
add esp, 0xc
lea eax, [ebp - 0x3f8]
lea ecx, [ebx + 0xc4]
push 0x1031b50e
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10007ec0
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x634], eax
mov dword [ebp - 4], 1
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 3
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x5fc], eax
mov byte [ebp - 4], 5
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x61c], eax
mov byte [ebp - 4], 7
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x618], eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0x3f8]
push 0x2c
push 0
push eax
lea eax, [ebp - 0x600]
push eax
call fcn.100ceba1
push 0x2c
push 1
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x5fc]
push eax
call fcn.100ceba1
push 0x2c
push 2
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.100ceba1
push 0x2c
push 3
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x618]
push eax
call fcn.100ceba1
push esi
lea eax, [ebp - 0x634]
push 0x1031c474
push eax
call fcn.10002d90
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 0xc
push 0
push 0
push 0x1004
push dword [ebx + 0xcd0]
call esi
mov dword [ebp - 0x70c], eax
lea eax, [ebp - 0x710]
push eax
push 0
push 0x1007
push dword [ebx + 0xcd0]
call esi
mov ecx, dword [ebp - 0x600]
mov ebx, eax
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x640], 0
mov esi, dword [ecx - 0xc]
test esi, esi
js 0x100b3f69
mov eax, dword [ecx - 8]
mov edx, 1
sub edx, dword [ecx - 4]
sub eax, esi
or eax, edx
jge 0x100b3073
push esi
lea ecx, [ebp - 0x600]
call fcn.10003170
mov ecx, dword [ebp - 0x600]
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x644]
push eax
lea eax, [ebp - 0xf8]
push eax
push ecx
call fcn.10026010
add esp, 0x10
mov ecx, edi
push dword [ebp - 0x600]
push 0
push ebx
call fcn.100d91a7
lea eax, [ebp - 0xf8]
mov ecx, edi
push eax
push 1
push ebx
call fcn.100d91a7
push dword [ebp - 0x5fc]
mov ecx, edi
push 2
push ebx
call fcn.100d91a7
push dword [ebp - 0x61c]
mov ecx, edi
push 4
push ebx
call fcn.100d91a7
push dword [ebp - 0x618]
call fcn.102bcab8
add esp, 4
mov ecx, edi
test eax, eax
jne 0x100b30ed
push 0x1032d124
jmp 0x100b30f2
push 0x1032d128
push 6
push ebx
call fcn.100d91a7
push 0
push ecx
mov esi, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x648], esi
mov eax, dword [ebp - 0x618]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xb
mov esi, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x64c], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xc
mov ecx, esi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b316c
push 1
push 0x1032d12c
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0xd
push ecx
mov esi, esp
mov dword [ebp - 0x614], esp
mov dword [ebp - 0x650], esi
mov eax, dword [ebp - 0x61c]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xf
mov esi, esp
mov dword [ebp - 0x624], esp
mov dword [ebp - 0x654], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x10
mov ecx, esi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b31e0
push 1
push 0x1032d12c
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0x11
push ecx
mov esi, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x658], esi
mov eax, dword [ebp - 0x5fc]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x13
mov esi, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x65c], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xf8]
push eax
mov ecx, esi
call fcn.10003e40
test al, al
jne 0x100b3269
lea ecx, [ebp - 0xf8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b3251
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0x15
push ecx
mov esi, esp
mov dword [ebp - 0x620], esp
mov dword [ebp - 0x6d0], esi
mov eax, dword [ebp - 0x600]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x60c]
call fcn.100b1320
push dword [ebp - 0x5fc]
mov dword [ebp - 0x614], eax
call fcn.100be9f0
mov ecx, eax
shr eax, 0x10
shr ecx, 0x18
push ecx
movzx eax, al
push eax
lea eax, [ebp - 0x50]
push str.CAL__2.2d__2.2d
push eax
call fcn.100029e0
add esp, 0x14
cmp dword [0x103c9778], 0
je 0x100b32f6
push dword [case.0x10063695.95]
lea eax, [ebp - 0x50]
push eax
push str._s_INIT_02d
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x50]
push eax
push 0x103c91c8
lea eax, [ebp - 0x4f8]
push str._s_s_
push eax
call fcn.100029e0
add esp, 0x10
lea ecx, [ebp - 0x72c]
call fcn.100cedce
mov byte [ebp - 4], 0x18
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x6cc], esi
mov byte [ebp - 4], 0x1a
xor ecx, ecx
mov al, byte [ebp + ecx - 0x4f8]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x2f9], al
test al, al
jne 0x100b3345
lea ecx, [ebp - 0x2f8]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100b3361
mov eax, dword [str.dark.raw]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ecx], eax
mov eax, dword [0x1031bd14]
mov dword [ecx + 4], eax
mov al, byte [0x1031bd18]
mov byte [ecx + 8], al
lea eax, [ebp - 0x2f8]
push eax
call edi
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [ebp - 0x604], ecx
xor ecx, ecx
mov al, byte [ebp + ecx - 0x4f8]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x2f9], al
test al, al
jne 0x100b33a1
lea ecx, [ebp - 0x2f8]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100b33c0
mov eax, dword [str.bpm.raw]
mov dword [ecx], eax
mov eax, dword [0x1031c218]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x2f8]
push eax
call edi
xor ecx, ecx
mov al, byte [ebp + ecx - 0x4f8]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x5f9], al
test al, al
jne 0x100b33e4
lea ecx, [ebp - 0x5f8]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100b3400
mov eax, dword [str.A________.raw]
mov dword [ecx], eax
mov eax, dword [0x1031bd58]
mov dword [ecx + 4], eax
mov eax, dword [0x1031bd5c]
mov dword [ecx + 8], eax
mov ax, word [0x1031bd60]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0x5f8]
push 0
push eax
lea ecx, [ebp - 0x72c]
call fcn.100cf0b3
mov edi, dword [ebp - 0x604]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x608], ecx
test edi, edi
je 0x100b3461
test ecx, ecx
je 0x100b3461
push 0x1032d128
jmp 0x100b3466
push 0x1032d124
mov ecx, dword [ebp - 0x610]
push 3
push ebx
call fcn.100d91a7
test edi, edi
je 0x100b36b6
cmp dword [ebp - 0x608], 0
je 0x100b36b6
push dword [ebp - 0x614]
push ecx
mov edi, esp
mov dword [ebp - 0x620], esp
mov dword [ebp - 0x6c8], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x1b
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b34d9
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x1c
push ecx
mov edi, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x6c4], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x1d
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3527
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x1e
push ecx
mov edi, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x6c0], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x1f
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3575
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x20
push ecx
mov edi, esp
mov dword [ebp - 0x624], esp
mov dword [ebp - 0x6bc], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x21
mov ecx, edi
push 0x1032d128
call fcn.10003e40
test al, al
jne 0x100b35c3
push 1
push 0x1032d128
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x22
push ecx
mov edi, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x6b4], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x23
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3611
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x24
push ecx
mov edi, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x69c], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x25
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b365f
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x26
push ecx
mov edi, esp
mov dword [ebp - 0x630], esp
mov dword [ebp - 0x6b8], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x27
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b36ad
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x28
jmp 0x100b38de
push dword [ebp - 0x614]
push ecx
mov edi, esp
mov dword [ebp - 0x630], esp
mov dword [ebp - 0x660], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x29
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3706
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x2a
push ecx
mov edi, esp
mov dword [ebp - 0x620], esp
mov dword [ebp - 0x664], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2b
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3754
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x2c
push ecx
mov edi, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x668], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2d
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b37a2
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x2e
push ecx
mov edi, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x66c], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2f
mov ecx, edi
push 0x1032d124
call fcn.10003e40
test al, al
jne 0x100b37f0
push 1
push 0x1032d124
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x30
push ecx
mov edi, esp
mov dword [ebp - 0x624], esp
mov dword [ebp - 0x670], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x31
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b383e
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x32
push ecx
mov edi, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x674], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x33
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b388c
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x34
push ecx
mov edi, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x678], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x35
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b38da
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x60c]
call fcn.100b1320
mov eax, dword [ebp - 0x5fc]
mov edi, dword [eax - 0xc]
test edi, edi
js 0x100b3f69
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, edi
or ecx, edx
jge 0x100b3921
push edi
lea ecx, [ebp - 0x5fc]
call fcn.10003170
mov eax, dword [ebp - 0x5fc]
lea edx, [ebp - 0x78]
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x100b3926
lea eax, [ebp - 0x78]
push eax
call fcn.100be9f0
add esp, 4
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov edi, eax
call dword [0x103c8e0c]
push 0xc8
push 0x1c
push 0x103cae38
push 0x103cae5c
push 0
push 0
push edi
push eax
mov dword [0x103cae58], eax
mov word [0x103cae5c], 0xff
mov byte [0x103cae5f], 0
mov dword [0x103cae60], 0
call dword [0x103c8e20]
cmp dword [0x103cae3c], 0
mov ecx, dword [ebp - 0x610]
je 0x100b39a3
push 0x1032d124
jmp 0x100b39a8
push 0x1032d128
push 5
push ebx
call fcn.100d91a7
cmp dword [0x103cae3c], 0
push dword [ebp - 0x614]
push ecx
mov dword [ebp - 0x630], esp
mov edi, esp
je 0x100b3bea
mov dword [ebp - 0x67c], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x37
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3a0d
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x38
push ecx
mov edi, esp
mov dword [ebp - 0x620], esp
mov dword [ebp - 0x680], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x39
mov ecx, edi
push 0x1032d124
call fcn.10003e40
test al, al
jne 0x100b3a5b
push 1
push 0x1032d124
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x3a
push ecx
mov edi, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x684], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x3b
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3aa9
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x3c
push ecx
mov edi, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x688], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x3d
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3af7
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x3e
push ecx
mov edi, esp
mov dword [ebp - 0x624], esp
mov dword [ebp - 0x68c], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x3f
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3b45
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x40
push ecx
mov edi, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x690], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x41
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3b93
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x42
push ecx
mov edi, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x694], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x43
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3be1
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x44
jmp 0x100b3e03
mov dword [ebp - 0x698], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x45
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3c2b
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x46
push ecx
mov edi, esp
mov dword [ebp - 0x620], esp
mov dword [ebp - 0x6d4], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x47
mov ecx, edi
push 0x1032d128
call fcn.10003e40
test al, al
jne 0x100b3c79
push 1
push 0x1032d128
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x48
push ecx
mov edi, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x6a0], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x49
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3cc7
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x4a
push ecx
mov edi, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x6a4], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x4b
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3d15
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x4c
push ecx
mov edi, esp
mov dword [ebp - 0x624], esp
mov dword [ebp - 0x6a8], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x4d
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3d63
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x4e
push ecx
mov edi, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x6ac], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x4f
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3db1
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x50
push ecx
mov edi, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x6b0], edi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b3f5f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x51
mov ecx, edi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b3dff
push 1
push 0x1032d12c
mov ecx, edi
call fcn.1000aa00
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x1a
mov ebx, dword [ebp - 0x60c]
mov ecx, ebx
call fcn.100b1320
mov eax, dword [0x103cae58]
test eax, eax
je 0x100b3e24
push eax
call dword [0x103c8e1c]
mov byte [ebp - 4], 0x18
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x100b3e40
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x72c]
call fcn.100cef95
mov byte [ebp - 4], 7
or eax, 0xffffffff
mov edx, dword [ebp - 0x618]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b3e71
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
or eax, 0xffffffff
mov edx, dword [ebp - 0x61c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b3e93
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
or eax, 0xffffffff
mov edx, dword [ebp - 0x5fc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b3eb5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
or eax, 0xffffffff
mov edx, dword [ebp - 0x600]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b3ed7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x634]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b3efc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x63c]
inc esi
mov dword [ebp - 0x63c], esi
cmp esi, dword [ebp - 0x638]
jg 0x100b3f1c
mov edi, dword [ebp - 0x610]
jmp 0x100b2eb0
lea ecx, [ebx + 0x2c8]
push ecx
call fcn.1009bb70
add esp, 4
mov ecx, ebx
push 0
call fcn.100ca535
mov dword [ebx + 0xc0], 1
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10002bc0
push 0x80070057
call fcn.10002bc0
int3