Function at 0x4024d0
Capabilities:
Print debug messages
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x423b7b
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x433050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3b8], 0xf
mov byte [ebp - 0x3cc], al
mov edx, 0xf
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x3d0], edx
mov byte [ebp - 0x3e4], al
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], edx
mov byte [ebp - 0x3fc], al
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
cmp dword [ebp + 8], 3
mov byte [ebp - 4], 4
jl 0x402612
mov edx, dword [edi + 4]
mov ecx, edx
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], 0xf
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4025b1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x384]
call fcn.00405ee0
mov eax, 1
lea ecx, [ebp - 0x384]
mov edx, str.start
mov dword [ebp - 0x4dc], eax
call fcn.004067c0
test al, al
je 0x402612
mov ecx, dword [edi + 8]
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4025f0
push str.0123456789
push ecx
sub esi, edx
call fcn.0040ee10
add esp, 8
mov byte [ebp - 0x4dd], 0
cmp eax, esi
je 0x402619
mov byte [ebp - 0x4dd], 1
mov eax, dword [ebp - 0x4dc]
test al, 1
je 0x402666
mov edx, dword [ebp - 0x370]
and eax, 0xfffffffe
mov dword [ebp - 0x4dc], eax
cmp edx, 0x10
jb 0x402666
mov ecx, dword [ebp - 0x384]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40265c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
cmp byte [ebp - 0x4dd], 0
je 0x4026ba
mov edx, 0x42fa38
call fcn.004064f0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x40428d
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4026b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
jmp 0x404285
mov edx, dword [edi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4026c2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x3cc]
call fcn.00405ee0
xorps xmm0, xmm0
movups xmmword [ebp - 0x41c], xmm0
push 0x38
movups xmmword [ebp - 0x40c], xmm0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0
call fcn.00409885
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x410]
push eax
push 0x10
mov dword [ebp - 0x404], 7
mov dword [ebp - 0x400], 8
mov dword [ebp - 0x41c], 0x3f800000
call fcn.00406120
mov byte [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x420], eax
cmp eax, dword [ebp + 8]
jge 0x4029e5
mov edx, dword [edi + eax*4]
mov ecx, edx
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xf
mov byte [ebp - 0x33c], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4027b0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x33c]
call fcn.00405ee0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x33c]
cmp dword [ebp - 0x328], 0x10
mov esi, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x32c]
cmovae eax, esi
mov dword [ebp - 0x4e4], eax
test ecx, ecx
je 0x40280a
push ecx
push 0x3d
push eax
call fcn.0040b610
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40280a
sub edi, dword [ebp - 0x4e4]
jmp 0x40280d
or edi, 0xffffffff
cmp edi, 0xffffffff
je 0x402999
cmp dword [ebp - 0x32c], edi
lea eax, [ebp - 0x33c]
mov ecx, edi
mov dword [ebp - 0x354], 0
cmovb ecx, dword [ebp - 0x32c]
cmp dword [ebp - 0x328], 0x10
push ecx
cmovae eax, esi
mov dword [ebp - 0x344], 0
push eax
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
call fcn.00405ee0
or dword [ebp - 0x4dc], 8
mov byte [ebp - 4], 9
inc edi
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0xf
mov byte [ebp - 0x384], 0
cmp eax, edi
jb 0x4042c4
sub eax, edi
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x328], 0x10
lea eax, [ebp - 0x33c]
cmovae eax, dword [ebp - 0x33c]
push ecx
add eax, edi
lea ecx, [ebp - 0x384]
push eax
call fcn.00405ee0
or dword [ebp - 0x4dc], 0x10
lea eax, [ebp - 0x354]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x41c]
call fcn.00405690
mov ecx, eax
lea eax, [ebp - 0x384]
cmp ecx, eax
je 0x402917
cmp dword [ebp - 0x370], 0x10
push dword [ebp - 0x374]
cmovae eax, dword [ebp - 0x384]
push eax
call fcn.00405ee0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x370]
cmp edx, 0x10
jb 0x402955
mov ecx, dword [ebp - 0x384]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40294b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042c9
push edx
push ecx
call fcn.00409872
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x340]
cmp edx, 0x10
jb 0x402993
mov ecx, dword [ebp - 0x354]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402989
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042c9
push edx
push ecx
call fcn.00409872
add esp, 8
mov esi, dword [ebp - 0x33c]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x328]
cmp eax, 0x10
jb 0x4029d3
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4029c9
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042ce
push ecx
push esi
call fcn.00409872
add esp, 8
mov eax, dword [ebp - 0x420]
mov edi, dword [ebp - 0x324]
inc eax
jmp 0x402770
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x4e4], eax
mov esi, dword [eax]
cmp esi, eax
je 0x402f83
lea edi, [esi + 8]
push edi
lea ecx, [ebp - 0x33c]
call fcn.004058a0
lea eax, [edi + 0x18]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x354]
call fcn.004058a0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x33c]
cmp dword [ebp - 0x328], 0x10
mov eax, dword [ebp - 0x32c]
cmovae ecx, dword [ebp - 0x33c]
cmp eax, 9
jne 0x402ce9
mov edx, str.__my_port
lea edi, [eax - 4]
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402a61
add ecx, 4
add edx, 4
sub edi, 4
jae 0x402a50
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402a88
cmp edi, 0xfffffffd
je 0x402a84
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402a88
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402a88
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x402a88
xor eax, eax
jmp 0x402a8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x402ce3
mov ecx, dword [ebp - 0x340]
lea edi, [ebp - 0x354]
mov edx, dword [ebp - 0x354]
cmp ecx, 0x10
cmovae edi, edx
lea eax, [edi + 1]
mov dword [ebp - 0x324], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x402ab6
sub edi, dword [ebp - 0x324]
lea eax, [ebp - 0x354]
cmp ecx, 0x10
push str.0123456789
cmovae eax, edx
push eax
call fcn.0040ee10
add esp, 8
cmp eax, edi
je 0x402cb8
mov edx, 0x42fa50
call fcn.004064f0
mov edx, dword [ebp - 0x340]
cmp edx, 0x10
jb 0x402b29
mov ecx, dword [ebp - 0x354]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402b1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x328]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
cmp edx, 0x10
jb 0x402b7e
mov ecx, dword [ebp - 0x33c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402b74
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xf
mov byte [ebp - 0x33c], 0
call fcn.004043b0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x402be4
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402bda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
xor eax, eax
mov dword [ebp - 0x35c], 0
mov word [ebp - 0x36c], ax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x358], 7
cmp eax, 0x10
jb 0x402c3d
mov ecx, dword [ebp - 0x3fc]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x402c33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
mov eax, dword [ebp - 0x3d0]
cmp eax, 0x10
jb 0x402c79
mov ecx, dword [ebp - 0x3e4]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x402c6f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3b8]
cmp edx, 0x10
jb 0x40428d
mov ecx, dword [ebp - 0x3cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4026b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
jmp 0x404285
cmp dword [ebp - 0x340], 0x10
lea eax, [ebp - 0x354]
push dword [ebp - 0x344]
cmovae eax, dword [ebp - 0x354]
lea ecx, [ebp - 0x3e4]
push eax
call fcn.00405ee0
jmp 0x402edf
mov eax, dword [ebp - 0x32c]
cmp dword [ebp - 0x328], 0x10
lea ecx, [ebp - 0x33c]
cmovae ecx, dword [ebp - 0x33c]
cmp eax, 5
jne 0x402d7c
mov edx, str.__key
lea edi, [eax - 4]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402d1b
add ecx, 4
mov edi, 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402d42
cmp edi, 0xfffffffd
je 0x402d3e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402d42
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402d42
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x402d42
xor eax, eax
jmp 0x402d47
sbb eax, eax
or eax, 1
test eax, eax
jne 0x402d76
cmp dword [ebp - 0x340], 0x10
lea eax, [ebp - 0x354]
push dword [ebp - 0x344]
cmovae eax, dword [ebp - 0x354]
lea ecx, [ebp - 0x3fc]
push eax
call fcn.00405ee0
jmp 0x402edf
mov eax, dword [ebp - 0x32c]
cmp dword [ebp - 0x328], 0x10
lea ecx, [ebp - 0x33c]
cmovae ecx, dword [ebp - 0x33c]
cmp eax, 0xa
jne 0x402de5
mov edx, str.__exe_path
lea edi, [eax - 4]
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402db1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x402da0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402dd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402dd8
cmp edi, 0xfffffffe
je 0x402dd4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402dd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x402dd8
xor eax, eax
jmp 0x402ddd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x402de5
mov al, 1
jmp 0x402de7
xor al, al
test al, al
je 0x402edf
sub esp, 0x18
lea eax, [ebp - 0x354]
mov ecx, esp
push eax
call fcn.004058a0
lea ecx, [ebp - 0x4fc]
call fcn.00407d20
mov edi, eax
add esp, 0x18
lea eax, [ebp - 0x36c]
cmp eax, edi
je 0x402e9f
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x402e5e
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402e54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d3
push edx
push ecx
call fcn.00409872
add esp, 8
mov dword [ebp - 0x35c], 0
xor eax, eax
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x36c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x35c], xmm0
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 7
mov word [edi], ax
mov edx, dword [ebp - 0x4e8]
cmp edx, 8
jb 0x402edf
mov ecx, dword [ebp - 0x4fc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402ed5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d3
push edx
push ecx
call fcn.00409872
add esp, 8
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x340]
cmp edx, 0x10
jb 0x402f1d
mov ecx, dword [ebp - 0x354]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402f13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x328]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
cmp edx, 0x10
jb 0x402f76
mov ecx, dword [ebp - 0x33c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402f6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042d8
push edx
push ecx
call fcn.00409872
add esp, 8
mov esi, dword [esi]
mov eax, dword [ebp - 0x4e4]
jmp 0x4029f3
push 0x104
lea eax, [ebp - 0x118]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x374], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x370], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402fc0
sub ecx, edx
lea eax, [ebp - 0x118]
push ecx
push eax
lea ecx, [ebp - 0x384]
call fcn.00405ee0
push dword [ebp - 0x324]
mov edi, dword [ebp - 0x370]
lea ecx, [ebp - 0x384]
mov esi, dword [ebp - 0x384]
cmp edi, 0x10
mov edx, dword [ebp - 0x374]
cmovae ecx, esi
push 1
sub esp, 8
call fcn.00406cc0
add esp, 0x10
mov dword [ebp - 0x324], eax
cmp edi, 0x10
jb 0x403043
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x403039
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042dd
push ecx
push esi
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x374], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x370], 0xf
mov byte [ebp - 0x384], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403071
sub ecx, edx
lea eax, [ebp - 0x118]
push ecx
push eax
lea ecx, [ebp - 0x384]
call fcn.00405ee0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x384]
mov ecx, dword [ebp - 0x324]
cmp dword [ebp - 0x374], ecx
mov dword [ebp - 0x3b4], 0
cmovb ecx, dword [ebp - 0x374]
cmp dword [ebp - 0x370], 0x10
push ecx
cmovae eax, dword [ebp - 0x384]
lea ecx, [ebp - 0x3b4]
push eax
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.00405ee0
mov edi, dword [ebp - 0x4dc]
or edi, 0x20
mov dword [ebp - 0x4dc], edi
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x370]
cmp edx, 0x10
jb 0x403137
mov ecx, dword [ebp - 0x384]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40312d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3a0]
mov eax, edx
mov ecx, dword [ebp - 0x3a4]
sub eax, ecx
push 0xe
push str.WeChatApi.dll
cmp eax, 0xe
jb 0x40317d
cmp edx, 0x10
lea esi, [ebp - 0x3b4]
lea eax, [ecx + 0xe]
cmovae esi, dword [ebp - 0x3b4]
add esi, ecx
mov dword [ebp - 0x3a4], eax
push esi
call fcn.0040af20
add esp, 0xc
mov byte [esi + 0xe], 0
jmp 0x403197
mov byte [ebp - 0x324], 0
lea ecx, [ebp - 0x3b4]
push dword [ebp - 0x324]
push 0xe
call fcn.00406ec0
push 0xb8
lea eax, [ebp - 0x4d8]
push 0
push eax
call fcn.0040b4a0
cmp dword [ebp - 0x3a0], 0x10
lea eax, [ebp - 0x3b4]
lea ecx, [ebp - 0x4d8]
cmovae eax, dword [ebp - 0x3b4]
push eax
call fcn.00405370
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
cmp dword [ebp + eax - 0x4cc], 0
je 0x4033d5
mov edx, 0x42fa8c
call fcn.004064f0
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x4dc], eax
lea ecx, [ebp - 0x4c8]
call fcn.00404f50
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x4dc], eax
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0x11
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00409178
mov edx, dword [ebp - 0x3a0]
add esp, 4
cmp edx, 0x10
jb 0x40329f
mov ecx, dword [ebp - 0x3b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403295
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.004043b0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x403305
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4032fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3e8]
xor eax, eax
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
cmp edx, 0x10
jb 0x40335c
mov ecx, dword [ebp - 0x3fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403352
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3d0]
cmp edx, 0x10
jb 0x403396
mov ecx, dword [ebp - 0x3e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40338c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3b8]
cmp edx, 0x10
jb 0x40428d
mov ecx, dword [ebp - 0x3cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4026b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
jmp 0x404285
cmp dword [ebp - 0x35c], 0
je 0x40364e
lea edx, [ebp - 0x36c]
lea ecx, [ebp - 0x4fc]
call fcn.00407c00
cmp dword [eax + 0x14], 0x10
jb 0x4033fb
mov eax, dword [eax]
lea ecx, [ebp - 0x39c]
push ecx
push eax
call fcn.0040fdc2
mov edx, dword [ebp - 0x4e8]
add esp, 8
test eax, eax
setne al
mov byte [ebp - 0x4dd], al
cmp edx, 0x10
jb 0x403456
mov ecx, dword [ebp - 0x4fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403446
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042e2
push edx
push ecx
call fcn.00409872
mov al, byte [ebp - 0x4dd]
add esp, 8
test al, al
je 0x403a63
mov edx, 0x42fa98
call fcn.004064f0
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x4dc], eax
lea ecx, [ebp - 0x4c8]
call fcn.00404f50
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x4dc], eax
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0x12
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00409178
mov edx, dword [ebp - 0x3a0]
add esp, 4
cmp edx, 0x10
jb 0x403518
mov ecx, dword [ebp - 0x3b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40350e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.004043b0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x40357e
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403574
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3e8]
xor eax, eax
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
cmp edx, 0x10
jb 0x4035d5
mov ecx, dword [ebp - 0x3fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4035cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3d0]
cmp edx, 0x10
jb 0x40360f
mov ecx, dword [ebp - 0x3e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403605
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3b8]
cmp edx, 0x10
jb 0x40428d
mov ecx, dword [ebp - 0x3cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4026b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
jmp 0x404285
lea eax, [ebp - 0x420]
push eax
push 0x101
push 0
push 0x42fb8c
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4036bd
push 0
push 0x42fbbc
lea ecx, [ebp - 0x384]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 7
call fcn.004084b0
movups xmm1, xmmword [ebp - 0x384]
or dword [ebp - 0x4dc], 0x80
movups xmmword [ebp - 0x34c], xmm1
jmp 0x403808
push 0x208
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.0040b4a0
add esp, 0xc
mov dword [ebp - 0x324], 0x104
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x320]
push eax
push 0
push 0
push str.InstallPath
push dword [ebp - 0x420]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x403670
push dword [ebp - 0x420]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [ebp - 0x33c], 0
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 7
lea edx, [ecx + 2]
mov word [ebp - 0x33c], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403744
sub ecx, edx
lea eax, [ebp - 0x320]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x33c]
call fcn.004084b0
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x328]
mov eax, edx
mov ecx, dword [ebp - 0x32c]
sub eax, ecx
cmp eax, 0xb
jb 0x4037b9
cmp edx, 8
lea esi, [ebp - 0x33c]
push 0x16
cmovae esi, dword [ebp - 0x33c]
lea edi, [ecx + 0xb]
push str.WeChat.exe
mov dword [ebp - 0x32c], edi
lea eax, [esi + ecx*2]
push eax
call fcn.0040af20
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
mov edi, dword [ebp - 0x4dc]
jmp 0x4037da
push 0xb
push str.WeChat.exe
mov byte [ebp - 0x4e4], 0
lea ecx, [ebp - 0x33c]
push dword [ebp - 0x4e4]
push 0xb
call fcn.00408730
movups xmm0, xmmword [ebp - 0x33c]
or edi, 0x80
mov dword [ebp - 0x4dc], edi
movups xmmword [ebp - 0x34c], xmm0
movq xmm0, qword [ebp - 0x32c]
movq qword [ebp - 0x374], xmm0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x403848
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40383e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
cmp dword [ebp - 0x374], 0
movups xmm0, xmmword [ebp - 0x34c]
movups xmmword [ebp - 0x36c], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ebp - 0x35c], xmm0
jne 0x403a63
mov edx, 0x42faac
call fcn.004064f0
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x4dc], eax
lea ecx, [ebp - 0x4c8]
call fcn.00404f50
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x4dc], eax
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0x14
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00409178
mov edx, dword [ebp - 0x3a0]
add esp, 4
cmp edx, 0x10
jb 0x40392d
mov ecx, dword [ebp - 0x3b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403923
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.004043b0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x403993
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403989
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3e8]
xor eax, eax
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
cmp edx, 0x10
jb 0x4039ea
mov ecx, dword [ebp - 0x3fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4039e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3d0]
cmp edx, 0x10
jb 0x403a24
mov ecx, dword [ebp - 0x3e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403a1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3b8]
cmp edx, 0x10
jb 0x40428d
mov ecx, dword [ebp - 0x3cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4026b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
jmp 0x404285
call fcn.00401450
sub esp, 0x18
lea eax, [ebp - 0x3fc]
mov ecx, esp
mov dword [ebp - 0x324], esp
push eax
call fcn.004058a0
sub esp, 0x18
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x3e4]
mov dword [ebp - 0x4e4], esp
mov ecx, esp
push eax
call fcn.004058a0
sub esp, 0x18
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0x420], esp
mov ecx, esp
push eax
call fcn.004058a0
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x3b4]
mov dword [ebp - 0x500], esp
mov ecx, esp
push eax
call fcn.004058a0
sub esp, 0x18
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x36c]
mov ecx, esp
push eax
call fcn.004057c0
mov byte [ebp - 4], 0x10
call fcn.00407ea0
mov edi, eax
lea esi, [ebp - 0x33f]
mov ecx, edi
add esp, 0x78
mov dword [ebp - 0x420], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x420]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x420], eax
test eax, eax
jne 0x403b01
xor ecx, ecx
lea eax, [ebp - 0x33f]
mov dword [ebp - 0x384], ecx
mov edx, 0xf
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x370], edx
cmp esi, eax
je 0x403b6f
sub eax, esi
lea ecx, [ebp - 0x384]
push eax
push esi
call fcn.00405ee0
mov edx, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x384]
or dword [ebp - 0x4dc], 0x300
lea eax, [ebp - 0x384]
cmp edx, 0x10
cmovae eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp - 0x370]
cmp edx, 0x10
jb 0x403bc6
mov ecx, dword [ebp - 0x384]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403bbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042e7
push edx
push ecx
call fcn.00409872
add esp, 8
test edi, edi
je 0x4040a0
mov edx, dword [ebp - 0x3bc]
mov eax, 0x7fffffff
sub eax, edx
cmp eax, 0x17
jb 0x4042ec
cmp dword [ebp - 0x3b8], 0x10
lea eax, [ebp - 0x3cc]
mov edi, 0xf
mov dword [ebp - 0x33c], 0
cmovae eax, dword [ebp - 0x3cc]
lea esi, [ebp - 0x33c]
mov dword [ebp - 0x324], eax
lea eax, [edx + 0x17]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x4e4], eax
cmp eax, edi
jbe 0x403cbb
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x403c4c
mov edi, 0x7fffffff
jmp 0x403c56
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
xor ecx, ecx
mov eax, edi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x1000
jb 0x403c99
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x4042f1
push eax
call fcn.00409885
add esp, 4
test eax, eax
je 0x4042fb
mov edx, dword [ebp - 0x3bc]
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x403cb2
test ecx, ecx
je 0x403cb0
push ecx
call fcn.00409885
mov edx, dword [ebp - 0x3bc]
add esp, 4
mov esi, eax
jmp 0x403cb2
xor esi, esi
mov dword [ebp - 0x33c], esi
lea eax, [edx + 0x17]
movups xmm0, xmmword [0x42fabc]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], edi
movups xmmword [esi], xmm0
mov eax, dword [0x42facc]
mov dword [esi + 0x10], eax
mov ax, word [0x42fad0]
mov word [esi + 0x14], ax
mov al, byte [0x42fad2]
push edx
push dword [ebp - 0x324]
mov byte [esi + 0x16], al
lea eax, [esi + 0x17]
push eax
call fcn.0040af20
mov eax, dword [ebp - 0x4e4]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x4dc]
or eax, 0x400
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x420], eax
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x3d4], 0
je 0x403d4f
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.004058a0
mov esi, eax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x4dc]
or eax, 2
jmp 0x403d9c
push 4
mov dword [ebp - 0x384], 0
lea ecx, [ebp - 0x384]
push str.9000
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0xf
mov byte [ebp - 0x384], 0
call fcn.00405ee0
mov dword [ebp - 4], 0x1b
lea esi, [ebp - 0x384]
mov eax, dword [ebp - 0x4dc]
or eax, 4
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x4dc], eax
mov eax, ecx
sub eax, edx
cmp eax, 0x11
jb 0x403e4b
lea eax, [edx + 0x11]
mov edi, esi
mov dword [esi + 0x10], eax
cmp ecx, 0x10
jb 0x403dca
mov edi, dword [esi]
cmp edi, 0x42faed
jae 0x403dff
lea eax, [edi + edx]
cmp eax, 0x42fadc
jb 0x403dff
cmp edi, 0x42fadc
ja 0x403df0
mov dword [ebp - 0x420], 0
jmp 0x403e09
mov eax, edi
sub eax, 0x42fadc
mov dword [ebp - 0x420], eax
jmp 0x403e09
mov dword [ebp - 0x420], 0x11
lea eax, [edx + 1]
push eax
lea ecx, [edi + 0x11]
push edi
push ecx
call fcn.0040af20
push dword [ebp - 0x420]
push 0x42fadc
push edi
call fcn.0040af20
mov edx, dword [ebp - 0x420]
mov eax, 0x11
sub eax, edx
push eax
lea eax, [edx + 0x42faed]
lea ecx, [edi + edx]
push eax
push ecx
call fcn.0040af20
add esp, 0x24
jmp 0x403e68
push 0x11
sub esp, 8
mov byte [ebp - 0x324], 0
mov ecx, esi
push dword [ebp - 0x324]
push 0x11
call fcn.00407980
mov esi, eax
movups xmm1, xmmword [esi]
mov eax, dword [ebp - 0x4dc]
movq xmm0, qword [esi + 0x10]
or eax, 0x800
movups xmmword [ebp - 0x354], xmm1
mov dword [esi + 0x10], 0
movq qword [ebp - 0x344], xmm0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], 0x1c
lea edx, [ebp - 0x354]
cmp dword [ebp - 0x340], 0x10
mov eax, dword [ebp - 0x328]
mov esi, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x344]
movd edi, xmm1
push ecx
cmovae edx, edi
sub eax, esi
push edx
cmp ecx, eax
ja 0x403f10
cmp dword [ebp - 0x328], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x32c], eax
lea eax, [ebp - 0x33c]
cmovae eax, dword [ebp - 0x33c]
add esi, eax
push esi
call fcn.0040af20
mov eax, dword [ebp - 0x344]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x403f2f
mov byte [ebp - 0x324], 0
push dword [ebp - 0x324]
push ecx
lea ecx, [ebp - 0x33c]
call fcn.00406ec0
mov edi, dword [ebp - 0x354]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x340]
cmp eax, 0x10
jb 0x403f69
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x403f5f
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042f6
push ecx
push edi
call fcn.00409872
add esp, 8
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x4dc]
test al, 4
je 0x403fde
mov edx, dword [ebp - 0x370]
and eax, 0xfffffffb
mov dword [ebp - 0x4dc], eax
cmp edx, 0x10
jb 0x403fc3
mov ecx, dword [ebp - 0x384]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fb3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042f6
push edx
push ecx
call fcn.00409872
mov eax, dword [ebp - 0x4dc]
add esp, 8
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0xf
mov byte [ebp - 0x384], 0
mov dword [ebp - 4], 0x19
test al, 2
je 0x40403e
mov edx, dword [ebp - 0x4e8]
cmp edx, 0x10
jb 0x404023
mov ecx, dword [ebp - 0x4fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404019
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042f6
push edx
push ecx
call fcn.00409872
add esp, 8
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4e8], 0xf
mov byte [ebp - 0x4fc], 0
cmp dword [ebp - 0x328], 0x10
lea edx, [ebp - 0x33c]
push dword [ebp - 0x32c]
cmovae edx, dword [ebp - 0x33c]
call fcn.00407660
mov byte [ebp - 4], 0x10
add esp, 4
mov edx, dword [ebp - 0x328]
cmp edx, 0x10
jb 0x4040aa
mov ecx, dword [ebp - 0x33c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404094
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4042fb
push edx
push ecx
call fcn.00409872
add esp, 8
jmp 0x4040aa
mov edx, str.Error_
call fcn.004064f0
mov eax, dword [ebp - 0x4d8]
mov esi, dword [ebp - 0x3cc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x4dc], eax
lea ecx, [ebp - 0x4c8]
call fcn.00404f50
mov eax, dword [ebp - 0x4d8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x4dc], eax
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0x1d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00409178
mov edx, dword [ebp - 0x3a0]
add esp, 4
cmp edx, 0x10
jb 0x404160
mov ecx, dword [ebp - 0x3b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404156
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.004043b0
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x4041c6
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4041bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3e8]
xor eax, eax
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 7
mov word [ebp - 0x36c], ax
cmp edx, 0x10
jb 0x40421d
mov ecx, dword [ebp - 0x3fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404213
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov edx, dword [ebp - 0x3d0]
cmp edx, 0x10
jb 0x404257
mov ecx, dword [ebp - 0x3e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40424d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push edx
push ecx
call fcn.00409872
add esp, 8
mov eax, dword [ebp - 0x3b8]
cmp eax, 0x10
jb 0x40428d
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x404283
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404300
push ecx
push esi
call fcn.00409872
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00409864
mov esp, ebp
pop ebp
ret
call fcn.004064e0
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
call fcn.00401a70
call fcn.004019d0
call fcn.0040dcff
call fcn.0040dcff
call fcn.0040dcff
int3