Function at 0x53eb70
Capabilities:
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63cbb3
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x670
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x634], esi
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x638], esi
push 0x669bc8
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 4], 0
call fcn.005a5400
push str.NoName
lea ecx, [ebp - 0x5d4]
mov byte [ebp - 4], 1
call fcn.005a5400
lea eax, [ebp - 0x5f4]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x5d4]
push eax
lea ecx, [ebp - 0x684]
call fcn.005c0610
mov ecx, dword [ebp - 0x5d4]
or edx, 0xffffffff
test ecx, ecx
je 0x53ec2d
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x53ec2d
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov ecx, dword [ebp - 0x5f4]
test ecx, ecx
je 0x53ec46
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x53ec46
push ecx
call fcn.005a47b0
mov eax, dword [0x6ac16c]
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x624], 0
mov byte [ebp - 0x620], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5d0]
push dword [0x6ac1e0]
call fcn.005e19c0
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x88], 0
call fcn.0041d970
lea ecx, [ebp - 0x5d0]
call fcn.005e1cb0
add esi, 0x347
lea ecx, [ebp - 0x684]
push esi
call fcn.005c1590
mov eax, dword [ebx + 8]
push edi
push ecx
mov ecx, esp
test eax, eax
je 0x53ecb9
lock inc dword [eax]
jmp 0x53ecbb
xor eax, eax
mov edi, dword [ebp - 0x634]
mov dword [ecx], eax
mov ecx, edi
call fcn.0054ccd0
mov byte [ebp - 0x601], al
test al, al
je 0x53ecd8
mov byte [edi + 0x74], 0
push str.SetConfigPrivate__
lea ecx, [ebp - 0x5d0]
call fcn.0050d910
lea ecx, [ebp - 0x628]
call fcn.0041d900
lea ecx, [edi + 0x7d]
push 0xffffffffffffffff
call fcn.005e07d0
lea ecx, [ebp - 0x628]
call fcn.0041d970
lea ecx, [ebp - 0x5d0]
call fcn.005e1cb0
lea eax, [ebp - 0x668]
mov ecx, esi
push eax
call fcn.005c0ab0
push 0
push 0x6ad00c
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x668]
call fcn.005bc070
mov eax, dword [0x6a7114]
cmp eax, 0x6a7114
je 0x53ed67
test eax, eax
je 0x53ed67
add eax, 0xfffffffc
je 0x53ed67
nop
mov byte [eax + 0x39], 1
mov eax, dword [eax + 4]
cmp eax, 0x6a7114
je 0x53ed67
test eax, eax
je 0x53ed67
add eax, 0xfffffffc
jne 0x53ed50
push 0
push 0x6ad010
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x640]
call fcn.005bc070
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x53faff
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ad014
call fcn.004aae40
mov esi, dword [ebp - 0x5d4]
test esi, esi
je 0x53edb5
add esi, 0xc
jmp 0x53edba
mov esi, 0x6aefbc
mov esi, dword [esi]
mov dword [ebp - 0x5f0], esi
test esi, esi
je 0x53edd9
lock inc dword [esi]
mov edx, esi
mov dword [ebp - 0x5f4], esi
mov dword [ebp - 0x5d4], esi
jmp 0x53edef
xor esi, esi
xor edx, edx
mov dword [ebp - 0x5f0], esi
mov dword [ebp - 0x5f4], edx
mov dword [ebp - 0x5d4], edx
mov dword [ebp - 0x5e4], esi
mov byte [ebp - 4], 0xc
mov edi, dword [0x6a7114]
cmp edi, 0x6a7114
je 0x53ee72
test edi, edi
je 0x53ee72
add edi, 0xfffffffc
mov dword [ebp - 0x5ec], edi
je 0x53ee72
mov ecx, dword [edi + 0x3a]
cmp ecx, esi
je 0x53ee69
test ecx, ecx
je 0x53ee46
test esi, esi
je 0x53ee46
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x53ee46
mov ecx, dword [ecx + 0xc]
push eax
mov eax, dword [ebp - 0x5d4]
mov edx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x53ee69
mov eax, dword [edi + 4]
cmp eax, 0x6a7114
je 0x53ee72
test eax, eax
je 0x53ee72
lea edi, [eax - 4]
mov dword [ebp - 0x5ec], edi
test edi, edi
je 0x53ee72
mov edx, dword [ebp - 0x5f4]
jmp 0x53ee16
mov byte [edi + 0x39], 0
jmp 0x53efa9
push 0xbc
call fcn.00606edf
mov edi, eax
add esp, 4
mov dword [ebp - 0x5ec], edi
mov dword [ebp - 0x5fc], edi
mov ecx, edi
call fcn.005e0f40
lea eax, [edi + 0x28]
mov dword [edi], vtable.CDhcpServer.0
mov byte [eax + 8], 0
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 0x3a], 0
mov dword [edi + 0x62], 0
push 0
sub esp, 8
mov byte [ebp - 4], 0x11
lea ecx, [edi + 0x66]
push 0
push 0x10
call fcn.0055c260
push 0
sub esp, 8
mov byte [ebp - 4], 0x12
lea ecx, [edi + 0x8b]
push 0
push 0x10
call fcn.004a9440
push 0
push 0
mov byte [edi + 0x39], 0
xorps xmm0, xmm0
mov dword [edi + 0x42], 0
mov dword [edi + 0x3e], 0
push 1
mov dword [edi + 0x46], 0
mov dword [edi + 0x4e], 0
mov dword [edi + 0x4a], 0
push 0
movups xmmword [edi + 0x52], xmm0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 0x31], eax
lea eax, [edi + 0x10]
push eax
push 0
push edi
push 0x5e0ec0
push 0
push 0
mov dword [edi + 0x35], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0xb0], 0x2a300
mov dword [edi + 0xb4], 0x15180
mov dword [edi + 0xb8], 0x24ea0
call fcn.0061408e
add esp, 0x18
mov dword [edi + 0xc], eax
cmp esi, dword [edi + 0x3a]
je 0x53ef8d
test esi, esi
je 0x53ef73
lock inc dword [esi]
mov ecx, dword [edi + 0x3a]
mov dword [edi + 0x3a], esi
test ecx, ecx
je 0x53ef8d
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x53ef8d
push ecx
call fcn.005a47b0
mov eax, dword [0x6a7118]
lea ecx, [edi + 4]
mov dword [edi + 8], eax
mov dword [ecx], 0x6a7114
mov dword [0x6a7118], ecx
mov eax, dword [edi + 8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x53efdd
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
add ecx, 0x37
push 0x6ad018
call fcn.004aae40
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x53efdd
add eax, 0xc
jmp 0x53efe2
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x53eff5
lock inc dword [eax]
mov dword [ebp - 0x5d8], eax
mov ecx, eax
jmp 0x53f003
xor eax, eax
mov dword [ebp - 0x5d8], 0
xor ecx, ecx
mov byte [ebp - 4], 0x13
test eax, eax
je 0x53f010
mov ecx, dword [ecx + 0xc]
jmp 0x53f015
mov ecx, 0x651f68
push 0x669d70
lea edx, [ebp - 0x658]
call fcn.005d2610
mov ecx, eax
add esp, 4
test ecx, ecx
jns 0x53f037
mov byte [edi + 0x39], 1
jmp 0x53fa4c
mov eax, dword [ebp - 0x5d8]
nop dword [eax]
test eax, eax
je 0x53f049
mov edx, dword [eax + 4]
jmp 0x53f04b
xor edx, edx
cmp ecx, edx
jge 0x53f08e
test eax, eax
je 0x53f063
cmp ecx, dword [eax + 4]
jge 0x53f063
test ecx, ecx
js 0x53f063
mov edx, dword [eax + 0xc]
add edx, ecx
jmp 0x53f068
mov edx, 0x651f40
cmp byte [edx], 0x31
jl 0x53f08b
test eax, eax
je 0x53f081
cmp ecx, dword [eax + 4]
jge 0x53f081
test ecx, ecx
js 0x53f081
mov edx, dword [eax + 0xc]
add edx, ecx
jmp 0x53f086
mov edx, 0x651f40
cmp byte [edx], 0x39
jle 0x53f08e
inc ecx
jmp 0x53f040
test eax, eax
je 0x53f097
mov eax, dword [eax + 0xc]
jmp 0x53f09c
mov eax, 0x651f68
push 0x651eaf
add ecx, eax
lea edx, [ebp - 0x654]
call fcn.005d2610
add esp, 4
test eax, eax
jns 0x53f0be
mov byte [edi + 0x39], 1
jmp 0x53fa4c
mov eax, dword [ebp - 0x658]
mov dword [edi + 0x3e], eax
mov eax, dword [ebp - 0x654]
mov dword [edi + 0x42], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f104
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad01c
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f104
add ecx, 0xc
jmp 0x53f109
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x53f148
test edx, edx
je 0x53f122
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53f148
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53f142
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f151
mov ecx, dword [eax + 0xc]
jmp 0x53f156
mov ecx, 0x651f68
lea edx, [ebp - 0x658]
call fcn.005d2570
test eax, eax
je 0x53f16e
mov byte [edi + 0x39], 1
jmp 0x53fa4c
mov eax, dword [ebp - 0x658]
mov dword [edi + 0x46], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f1ab
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad020
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f1ab
add ecx, 0xc
jmp 0x53f1b0
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x53f1ef
test edx, edx
je 0x53f1c9
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53f1ef
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53f1e9
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f1f8
mov ecx, dword [eax + 0xc]
jmp 0x53f1fd
mov ecx, 0x651f68
lea edx, [edi + 0x4a]
call fcn.005d2570
test eax, eax
je 0x53f26c
mov dword [edx], 0
mov edi, str.Firewall_IP
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f223
mov edx, dword [eax + 0xc]
jmp 0x53f228
mov edx, 0x651f68
test eax, eax
je 0x53f231
mov ecx, dword [eax + 4]
jmp 0x53f233
xor ecx, ecx
add ecx, edx
mov dword [ebp - 0x5e0], ecx
cmp edx, ecx
jae 0x53f258
nop
mov ch, byte [edi]
test ch, ch
je 0x53f274
mov cl, byte [edx]
inc edi
inc edx
cmp cl, ch
jne 0x53f274
mov ecx, dword [ebp - 0x5e0]
cmp edx, ecx
jb 0x53f240
jne 0x53f274
cmp byte [edi], 0
mov edi, dword [ebp - 0x5ec]
jne 0x53f27a
mov dword [edi + 0x4a], 0xffffffff
mov eax, dword [ebp - 0x5d8]
jmp 0x53f27a
mov edi, dword [ebp - 0x5ec]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x53f288
mov ecx, 0x6aefbc
jmp 0x53f2c0
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
add ecx, 0x37
push 0x6ad034
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f2b5
add ecx, 0xc
jmp 0x53f2ba
mov ecx, 0x6aefbc
mov eax, dword [ebp - 0x5d8]
mov edx, dword [ecx]
cmp edx, eax
je 0x53f2f9
test edx, edx
je 0x53f2d3
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53f2f9
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53f2f3
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f302
mov ecx, dword [eax + 0xc]
jmp 0x53f307
mov ecx, 0x651f68
lea edx, [edi + 0x4e]
call fcn.005d2570
test eax, eax
je 0x53f376
mov dword [edx], 0
mov edx, str.Firewall_IP
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f32d
mov ecx, dword [eax + 0xc]
jmp 0x53f332
mov ecx, 0x651f68
test eax, eax
je 0x53f33b
mov eax, dword [eax + 4]
jmp 0x53f33d
xor eax, eax
add eax, ecx
mov dword [ebp - 0x5e0], eax
cmp ecx, eax
jae 0x53f368
nop dword [eax]
mov ah, byte [edx]
test ah, ah
je 0x53f376
mov al, byte [ecx]
inc edx
inc ecx
cmp al, ah
jne 0x53f376
mov eax, dword [ebp - 0x5e0]
cmp ecx, eax
jb 0x53f350
jne 0x53f376
cmp byte [edx], 0
jne 0x53f376
mov dword [edi + 0x4e], 0xffffffff
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movups xmmword [edi + 0x52], xmm0
xor edi, edi
test eax, eax
je 0x53f3af
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], edi
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad024
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f3af
add ecx, 0xc
jmp 0x53f3b4
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x53f3f3
test edx, edx
je 0x53f3cd
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53f3f3
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53f3ed
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
mov ecx, str.Firewall_IP
mov dword [ebp - 0x5e8], ecx
test eax, eax
je 0x53f407
mov edx, dword [eax + 0xc]
jmp 0x53f40c
mov edx, 0x651f68
test eax, eax
je 0x53f415
mov esi, dword [eax + 4]
jmp 0x53f417
xor esi, esi
add esi, edx
mov dword [ebp - 0x5d4], esi
cmp edx, esi
mov esi, dword [ebp - 0x5f0]
jae 0x53f451
nop dword [eax]
mov ch, byte [ecx]
test ch, ch
je 0x53f470
mov cl, byte [edx]
inc edx
inc dword [ebp - 0x5e8]
cmp cl, ch
jne 0x53f470
mov ecx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5d4]
jb 0x53f430
cmp edx, dword [ebp - 0x5d4]
jne 0x53f470
cmp byte [ecx], 0
jne 0x53f470
mov edi, dword [ebp - 0x5ec]
mov dword [edi + 0x52], 0xffffffff
jmp 0x53f593
mov ecx, str.System_DNS_IPs
mov dword [ebp - 0x5e8], ecx
test eax, eax
je 0x53f484
mov edx, dword [eax + 0xc]
jmp 0x53f489
mov edx, 0x651f68
test eax, eax
je 0x53f492
mov esi, dword [eax + 4]
jmp 0x53f494
xor esi, esi
add esi, edx
mov dword [ebp - 0x5d4], esi
cmp edx, esi
mov esi, dword [ebp - 0x5f0]
jae 0x53f4c7
mov ch, byte [ecx]
test ch, ch
je 0x53f4d8
mov cl, byte [edx]
inc edx
inc dword [ebp - 0x5e8]
cmp cl, ch
jne 0x53f4d8
mov ecx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5d4]
jb 0x53f4a6
cmp edx, dword [ebp - 0x5d4]
jne 0x53f4d8
cmp byte [ecx], 0
je 0x53f58d
mov edx, dword [ebp - 0x5ec]
xor esi, esi
add edx, 0x52
mov dword [ebp - 0x5d4], edx
nop dword [eax]
test eax, eax
je 0x53f4f9
mov eax, dword [eax + 0xc]
jmp 0x53f4fe
mov eax, 0x651f68
push 0x65a59c
lea ecx, [eax + edi]
call fcn.005d2610
add esp, 4
test eax, eax
js 0x53f587
add edi, eax
mov eax, dword [ebp - 0x5d8]
nop word [eax + eax]
test eax, eax
je 0x53f529
mov ecx, dword [eax + 4]
jmp 0x53f52b
xor ecx, ecx
cmp edi, ecx
jge 0x53f56e
test eax, eax
je 0x53f543
cmp edi, dword [eax + 4]
jge 0x53f543
test edi, edi
js 0x53f543
mov ecx, dword [eax + 0xc]
add ecx, edi
jmp 0x53f548
mov ecx, 0x651f40
cmp byte [ecx], 0x31
jl 0x53f56b
test eax, eax
je 0x53f561
cmp esi, dword [eax + 4]
jge 0x53f561
test esi, esi
js 0x53f561
mov ecx, dword [eax + 0xc]
add ecx, esi
jmp 0x53f566
mov ecx, 0x651f40
cmp byte [ecx], 0x39
jle 0x53f56e
inc edi
jmp 0x53f520
mov edx, dword [ebp - 0x5d4]
inc esi
add edx, 4
mov dword [ebp - 0x5d4], edx
cmp esi, 4
jl 0x53f4f0
mov esi, dword [ebp - 0x5f0]
mov edi, dword [ebp - 0x5ec]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f5c7
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad038
call fcn.004aae40
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x53f5c7
add eax, 0xc
jmp 0x53f5cc
mov eax, 0x6aefbc
mov ecx, dword [eax]
cmp ecx, dword [edi + 0x62]
je 0x53f5f6
test ecx, ecx
je 0x53f5da
lock inc dword [ecx]
mov ecx, dword [edi + 0x62]
mov eax, dword [eax]
mov dword [edi + 0x62], eax
test ecx, ecx
je 0x53f5f6
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x53f5f6
push ecx
call fcn.005a47b0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f62a
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad028
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f62a
add ecx, 0xc
jmp 0x53f62f
mov ecx, 0x6aefbc
push ecx
push 0x30
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [edi + 0xb0], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f677
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad02c
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f677
add ecx, 0xc
jmp 0x53f67c
mov ecx, 0x6aefbc
push ecx
push 0x18
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [edi + 0xb4], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x53f6c4
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad030
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f6c4
add ecx, 0xc
jmp 0x53f6c9
mov ecx, 0x6aefbc
push ecx
push 0x2a
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [edi + 0xb8], eax
lea eax, [edi + 0x66]
mov ecx, eax
mov dword [ebp - 0x5e8], eax
call fcn.0055c0d0
lea eax, [edi + 0x8b]
mov ecx, eax
mov dword [ebp - 0x5f4], eax
call fcn.004e3cb0
push 0
push 0x6ad03c
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0x24]
call fcn.005bc070
mov byte [ebp - 4], 0x14
mov edi, dword [ebp - 0x618]
test edi, edi
je 0x53fa25
mov esi, edi
test esi, esi
je 0x53f75b
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ad040
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53f75b
add ecx, 0xc
jmp 0x53f760
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x53f79f
test edx, edx
je 0x53f779
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53f79f
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53f799
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
xor ecx, ecx
mov dword [ebp - 0x5f8], ecx
lea edi, [ecx + 2]
nop word [eax + eax]
mov dword [ebp - 0x5d4], 0xffffffff
test eax, eax
je 0x53f7c3
mov eax, dword [eax + 0xc]
jmp 0x53f7c8
mov eax, 0x651f68
lea ecx, [ebp - 0x5d4]
add eax, 0xfffffffe
push ecx
add eax, edi
push 0x669d94
push eax
call fcn.0041abe0
add esp, 0xc
cmp eax, 1
jne 0x53f864
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x53f801
cmp edi, dword [eax + 4]
jge 0x53f801
test edi, edi
js 0x53f801
mov ecx, dword [eax + 0xc]
add ecx, edi
jmp 0x53f806
mov ecx, 0x651f40
cmp byte [ecx], 0x3a
jne 0x53f816
mov ecx, dword [ebp - 0x5f8]
cmp ecx, 5
jl 0x53f83f
test eax, eax
je 0x53f82a
cmp edi, dword [eax + 4]
jge 0x53f82a
test edi, edi
js 0x53f82a
mov ecx, dword [eax + 0xc]
add ecx, edi
jmp 0x53f82f
mov ecx, 0x651f40
cmp byte [ecx], 0
jne 0x53f864
cmp edi, 0x11
jne 0x53f864
mov ecx, dword [ebp - 0x5f8]
mov edx, dword [ebp - 0x5d4]
cmp edx, 0xff
ja 0x53f864
mov byte [ebp + ecx - 0x2c], dl
add edi, 3
inc ecx
mov dword [ebp - 0x5f8], ecx
cmp edi, 0x14
jl 0x53f7b0
cmp dword [ebp - 0x5f8], 6
jne 0x53f993
test esi, esi
je 0x53f8a2
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac934
call fcn.004aae40
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x53f8a2
add eax, 0xc
jmp 0x53f8a7
mov eax, 0x6aefbc
mov ecx, dword [eax]
test ecx, ecx
je 0x53f8b2
mov ecx, dword [ecx + 0xc]
jmp 0x53f8b7
mov ecx, 0x651f68
lea edx, [ebp - 0x600]
call fcn.005d2570
test eax, eax
jne 0x53f993
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [ebp - 0x600]
mov di, word [ebp - 0x28]
mov dword [ebp - 0x5e0], ecx
test byte [eax + 0x18], 3
mov dword [ebp - 0x5f8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x630], ecx
mov word [ebp - 0x62c], di
jne 0x53f933
mov esi, dword [ebp - 0x5e8]
xor edx, edx
movzx eax, cx
xor eax, dword [ebp - 0x62e]
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov esi, dword [ebp - 0x618]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x53f933
cmp dword [eax + 4], ecx
jne 0x53f92d
cmp word [eax + 8], di
je 0x53f993
mov eax, dword [eax]
test eax, eax
jne 0x53f922
mov edi, dword [ebp - 0x5e0]
test edi, edi
je 0x53f959
mov ecx, dword [ebp - 0x5f4]
lea eax, [ebp - 0x5f8]
push eax
call fcn.00428b80
test eax, eax
je 0x53f993
mov edi, dword [ebp - 0x5f8]
mov ecx, dword [ebp - 0x5e8]
lea eax, [ebp - 0x5f8]
push 0
push eax
lea eax, [ebp - 0x630]
push eax
call fcn.00563d40
test edi, edi
je 0x53f993
mov ecx, dword [ebp - 0x5f4]
lea eax, [ebp - 0x630]
push 0
push eax
lea eax, [ebp - 0x5f8]
push eax
call fcn.004af880
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x61c]
call fcn.005bbdd0
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x53f9da
mov edi, esi
mov dword [eax + 4], 0
mov esi, ecx
mov dword [ebp - 0x618], esi
test edi, edi
je 0x53f9da
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x53f9da
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov ecx, dword [ebp - 0x608]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x53fa11
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x53fa11
mov edi, dword [ebp - 0x608]
test edi, edi
je 0x53fa11
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
test esi, esi
jne 0x53f72e
mov esi, dword [ebp - 0x5f0]
mov edi, dword [ebp - 0x618]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test edi, edi
je 0x53fa4c
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x53fa4c
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov ecx, dword [ebp - 0x5d8]
test ecx, ecx
je 0x53fa66
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x53fa66
push ecx
call fcn.005a47b0
test esi, esi
je 0x53fa7c
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x53fa7c
push ecx
mov ecx, esi
call fcn.005a47b0
lea eax, [ebp - 0x614]
push eax
lea ecx, [ebp - 0x24]
call fcn.005bbdd0
mov edi, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
cmp edi, ecx
je 0x53fac0
mov esi, edi
mov dword [eax + 4], 0
mov edi, ecx
mov dword [ebp - 0x20], edi
test esi, esi
je 0x53fac0
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x53fac0
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x610]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x53faf7
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x53faf7
mov esi, dword [ebp - 0x610]
test esi, esi
je 0x53faf7
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
jne 0x53ed88
mov esi, dword [ebp - 0x63c]
test esi, esi
je 0x53fb22
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x53fb22
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
push 0
push 0x6ad000
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x668]
call fcn.005bc070
mov eax, dword [0x6a7120]
cmp eax, 0x6a7120
je 0x53fb6a
test eax, eax
je 0x53fb6a
add eax, 0xfffffffc
je 0x53fb6a
mov byte [eax + 0x81], 1
mov eax, dword [eax + 4]
cmp eax, 0x6a7120
je 0x53fb6a
test eax, eax
je 0x53fb6a
add eax, 0xfffffffc
jne 0x53fb50
push 0
push 0x6ad004
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x670]
call fcn.005bc070
mov edi, dword [ebp - 0x608]
test edi, edi
je 0x54095b
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ad014
call fcn.004aae40
mov edi, dword [ebp - 0x5d4]
test edi, edi
je 0x53fbbe
add edi, 0xc
jmp 0x53fbc3
mov edi, 0x6aefbc
mov edi, dword [edi]
mov dword [ebp - 0x5f8], edi
test edi, edi
je 0x53fbe2
lock inc dword [edi]
mov edx, edi
mov dword [ebp - 0x5f4], edi
mov dword [ebp - 0x5d4], edi
jmp 0x53fbf8
xor edi, edi
xor edx, edx
mov dword [ebp - 0x5f8], edi
mov dword [ebp - 0x5f4], edx
mov dword [ebp - 0x5d4], edx
mov dword [ebp - 0x5e4], edi
mov byte [ebp - 4], 0x17
mov esi, dword [0x6a7120]
cmp esi, 0x6a7120
je 0x53fc7f
test esi, esi
je 0x53fc7f
add esi, 0xfffffffc
mov dword [ebp - 0x5f0], esi
je 0x53fc7f
nop
mov ecx, dword [esi + 0x82]
cmp ecx, edi
je 0x53fc76
test ecx, ecx
je 0x53fc53
test edi, edi
je 0x53fc53
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x53fc53
mov ecx, dword [ecx + 0xc]
push eax
mov eax, dword [ebp - 0x5d4]
mov edx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x53fc76
mov eax, dword [esi + 4]
cmp eax, 0x6a7120
je 0x53fc7f
test eax, eax
je 0x53fc7f
lea esi, [eax - 4]
mov dword [ebp - 0x5f0], esi
test esi, esi
je 0x53fc7f
mov edx, dword [ebp - 0x5f4]
jmp 0x53fc20
mov byte [esi + 0x81], 0
jmp 0x53fcf8
push 0x148
call fcn.00606edf
add esp, 4
mov dword [ebp - 0x5fc], eax
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.0053a510
mov esi, eax
mov dword [ebp - 0x5f0], esi
test esi, esi
je 0x5408b9
cmp edi, dword [esi + 0x82]
je 0x53fcdc
test edi, edi
je 0x53fcbc
lock inc dword [edi]
mov ecx, dword [esi + 0x82]
mov dword [esi + 0x82], edi
test ecx, ecx
je 0x53fcdc
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x53fcdc
push ecx
call fcn.005a47b0
mov eax, dword [0x6a7124]
lea ecx, [esi + 4]
mov dword [esi + 8], eax
mov dword [ecx], 0x6a7120
mov dword [0x6a7124], ecx
mov eax, dword [esi + 8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x608]
test ecx, ecx
je 0x53fd2f
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
add ecx, 0x37
push 0x6ad018
call fcn.004aae40
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x53fd2f
add eax, 0xc
jmp 0x53fd34
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x53fd3f
lock inc dword [eax]
jmp 0x53fd41
xor eax, eax
mov dword [ebp - 0x5d8], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x70]
mov edx, 4
nop dword [eax]
nop word [eax + eax]
mov dword [ecx], 0
lea ecx, [ecx + 0x10]
mov dword [ecx - 0xc], 0
mov dword [ecx - 8], 0
mov dword [ecx - 4], 0
sub edx, 1
jne 0x53fd60
test eax, eax
je 0x53fd8c
mov ecx, dword [eax + 0xc]
jmp 0x53fd91
mov ecx, 0x651f68
push ecx
lea eax, [ebp - 0x70]
or edx, 0xffffffff
push 0x669d70
push eax
call fcn.005d2060
mov ecx, eax
add esp, 0xc
test ecx, ecx
jns 0x53fdb8
mov byte [esi + 0x81], 1
jmp 0x54089f
mov eax, dword [ebp - 0x5d8]
nop
test eax, eax
je 0x53fdc9
mov edx, dword [eax + 4]
jmp 0x53fdcb
xor edx, edx
cmp ecx, edx
jge 0x53fe0e
test eax, eax
je 0x53fde3
cmp ecx, dword [eax + 4]
jge 0x53fde3
test ecx, ecx
js 0x53fde3
mov edx, dword [eax + 0xc]
add edx, ecx
jmp 0x53fde8
mov edx, 0x651f40
cmp byte [edx], 0x2d
je 0x53fe0b
test eax, eax
je 0x53fe01
cmp ecx, dword [eax + 4]
jge 0x53fe01
test ecx, ecx
js 0x53fe01
mov edx, dword [eax + 0xc]
add edx, ecx
jmp 0x53fe06
mov edx, 0x651f40
cmp byte [edx], 0x20
jne 0x53fe0e
inc ecx
jmp 0x53fdc0
test eax, eax
je 0x53fe17
mov eax, dword [eax + 0xc]
jmp 0x53fe1c
mov eax, 0x651f68
add ecx, eax
or edx, 0xffffffff
push ecx
lea eax, [ebp - 0x60]
push 0x651eaf
push eax
call fcn.005d2060
add esp, 0xc
test eax, eax
js 0x53fdac
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [esi + 0x8a], eax
mov dword [esi + 0x8e], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [esi + 0x92], eax
mov dword [esi + 0x96], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 0x9a], eax
mov dword [esi + 0x9e], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [esi + 0xa2], eax
mov eax, dword [ebp - 0x608]
mov dword [esi + 0xa6], ecx
mov dword [esi + 0xaa], 0
mov dword [esi + 0xae], 0
mov dword [esi + 0xba], 0
mov dword [esi + 0xbe], 0
mov dword [esi + 0xb2], 0
mov dword [esi + 0xb6], 0
mov dword [esi + 0xc2], 0
mov dword [esi + 0xc6], 0
mov dword [esi + 0xca], 0
mov dword [esi + 0xce], 0
mov dword [esi + 0xd2], 0
mov dword [esi + 0xd6], 0
mov dword [esi + 0xda], 0
mov dword [esi + 0xde], 0
mov dword [esi + 0xe2], 0
mov dword [esi + 0xe6], 0
xor esi, esi
test eax, eax
je 0x53ff58
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], esi
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad024
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x53ff58
add ecx, 0xc
jmp 0x53ff5d
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x53ff9c
test edx, edx
je 0x53ff76
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x53ff9c
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x53ff96
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
mov ecx, str.Firewall_IP
mov dword [ebp - 0x5e8], ecx
test eax, eax
je 0x53ffb0
mov edx, dword [eax + 0xc]
jmp 0x53ffb5
mov edx, 0x651f68
test eax, eax
je 0x53ffbe
mov edi, dword [eax + 4]
jmp 0x53ffc0
xor edi, edi
add edi, edx
mov dword [ebp - 0x5d4], edi
cmp edx, edi
mov edi, dword [ebp - 0x5f8]
jae 0x53fff3
mov ch, byte [ecx]
test ch, ch
je 0x540039
mov cl, byte [edx]
inc edx
inc dword [ebp - 0x5e8]
cmp cl, ch
jne 0x540039
mov ecx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5d4]
jb 0x53ffd2
cmp edx, dword [ebp - 0x5d4]
jne 0x540039
cmp byte [ecx], 0
jne 0x540039
mov edx, dword [ebp - 0x5f0]
mov eax, dword [0x6a748c]
mov ecx, dword [0x6a7490]
mov dword [edx + 0xaa], eax
mov dword [edx + 0xae], ecx
mov eax, dword [0x6a7494]
mov ecx, dword [0x6a7498]
mov dword [edx + 0xb2], eax
mov dword [edx + 0xb6], ecx
jmp 0x540152
mov ecx, str.System_DNS_IPs
mov dword [ebp - 0x5e8], ecx
test eax, eax
je 0x54004d
mov edx, dword [eax + 0xc]
jmp 0x540052
mov edx, 0x651f68
test eax, eax
je 0x54005b
mov edi, dword [eax + 4]
jmp 0x54005d
xor edi, edi
add edi, edx
mov dword [ebp - 0x5d4], edi
cmp edx, edi
mov edi, dword [ebp - 0x5f8]
jae 0x540091
nop
mov ch, byte [ecx]
test ch, ch
je 0x5400a2
mov cl, byte [edx]
inc edx
inc dword [ebp - 0x5e8]
cmp cl, ch
jne 0x5400a2
mov ecx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5d4]
jb 0x540070
cmp edx, dword [ebp - 0x5d4]
jne 0x5400a2
cmp byte [ecx], 0
je 0x540152
mov edx, dword [ebp - 0x5f0]
xor edi, edi
add edx, 0xaa
mov dword [ebp - 0x5d4], edx
test eax, eax
je 0x5400bf
mov eax, dword [eax + 0xc]
jmp 0x5400c4
mov eax, 0x651f68
lea ecx, [eax + esi]
push ecx
push 0x65a59c
push edx
or edx, 0xffffffff
call fcn.005d2060
add esp, 0xc
test eax, eax
js 0x54014c
add esi, eax
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x5400ee
mov ecx, dword [eax + 4]
jmp 0x5400f0
xor ecx, ecx
cmp esi, ecx
jge 0x540133
test eax, eax
je 0x540108
cmp esi, dword [eax + 4]
jge 0x540108
test esi, esi
js 0x540108
mov ecx, dword [eax + 0xc]
add ecx, esi
jmp 0x54010d
mov ecx, 0x651f40
cmp byte [ecx], 0x2c
je 0x540130
test eax, eax
je 0x540126
cmp edi, dword [eax + 4]
jge 0x540126
test edi, edi
js 0x540126
mov ecx, dword [eax + 0xc]
add ecx, edi
jmp 0x54012b
mov ecx, 0x651f40
cmp byte [ecx], 0x20
jne 0x540133
inc esi
jmp 0x5400e5
mov edx, dword [ebp - 0x5d4]
inc edi
add edx, 0x10
mov dword [ebp - 0x5d4], edx
cmp edi, 4
jl 0x5400b6
mov edi, dword [ebp - 0x5f8]
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x540189
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad038
call fcn.004aae40
mov esi, dword [ebp - 0x5d4]
test esi, esi
je 0x540189
add esi, 0xc
jmp 0x54018e
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x5401a1
lock inc dword [esi]
mov edx, esi
mov dword [ebp - 0x5f4], esi
jmp 0x5401ab
xor esi, esi
xor edx, edx
mov dword [ebp - 0x5f4], edx
mov dword [ebp - 0x5d4], esi
mov dword [ebp - 0x5e8], esi
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x5f0]
lea ecx, [eax + 0xea]
mov dword [ebp - 0x5e0], ecx
mov ecx, dword [eax + 0xea]
mov dword [eax + 0xea], 0
test ecx, ecx
je 0x5401f9
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
mov edx, esi
jne 0x5401f9
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x5f4]
test edx, edx
je 0x54030e
mov edi, dword [ebp - 0x5e0]
mov eax, dword [edi]
test eax, eax
je 0x54021a
cmp dword [eax + 4], 0x400
jge 0x540308
push 0
sub esp, 8
lea eax, [ebp - 0x610]
lea ecx, [ebp - 0x5e8]
push 0x6adab8
push eax
call fcn.005af810
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x610]
test ecx, ecx
je 0x5402e2
mov eax, dword [ecx + 4]
inc eax
cmp eax, 0x80
jge 0x5402e2
push ecx
mov eax, esp
lock inc dword [ecx]
mov dword [eax], ecx
lea ecx, [ebp - 0x600]
call fcn.0053e730
mov ecx, dword [ebp - 0x610]
add esp, 4
mov edx, dword [eax]
cmp ecx, edx
je 0x54029f
mov dword [ebp - 0x610], edx
mov dword [eax], 0
test ecx, ecx
je 0x540299
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x540299
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x610]
mov edx, dword [ebp - 0x600]
test edx, edx
je 0x5402c1
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x5402bb
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x610]
test ecx, ecx
je 0x5402e2
cmp dword [ecx + 4], 0xff
jg 0x5402e2
lea eax, [ebp - 0x610]
mov ecx, edi
push eax
call fcn.005a6990
mov ecx, dword [ebp - 0x610]
mov byte [ebp - 4], 0x1a
test ecx, ecx
je 0x5402fa
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5402fa
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x5e8]
test esi, esi
jne 0x540207
mov edi, dword [ebp - 0x5f8]
test esi, esi
je 0x540324
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x540324
push ecx
mov ecx, esi
call fcn.005a47b0
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x54035b
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad028
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x54035b
add ecx, 0xc
jmp 0x540360
mov ecx, 0x6aefbc
push ecx
push 0x30
call fcn.005b7c90
mov esi, dword [ebp - 0x5f0]
imul eax, eax, 0xe10
mov dword [esi + 0x138], eax
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5403b1
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad008
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x5403b1
add ecx, 0xc
jmp 0x5403b6
mov ecx, 0x6aefbc
push ecx
push 0x2d
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [esi + 0x13c], eax
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x540401
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad02c
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x540401
add ecx, 0xc
jmp 0x540406
mov ecx, 0x6aefbc
push ecx
push 0x18
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [esi + 0x140], eax
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x540451
lea ecx, [eax + 0x37]
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x5d4]
push eax
push 0x6ad030
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x540451
add ecx, 0xc
jmp 0x540456
mov ecx, 0x6aefbc
push ecx
push 0x2a
call fcn.005b7c90
imul eax, eax, 0xe10
mov dword [esi + 0x144], eax
lea eax, [esi + 0xee]
mov ecx, eax
mov dword [ebp - 0x5e8], eax
call fcn.0055bbf0
lea ecx, [esi + 0x113]
mov dword [ebp - 0x5f4], ecx
call fcn.004e3a10
mov eax, dword [ebp - 0x608]
test eax, eax
jne 0x5404ac
xor esi, esi
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
mov dword [ebp - 0x5f0], esi
jmp 0x5404ef
lea ecx, [eax + 0x81]
lea eax, [ebp - 0x660]
push eax
push 0x6ad03c
call fcn.005c67a0
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test eax, eax
je 0x5404db
xor esi, esi
mov dword [ebp - 0x5f0], esi
jmp 0x5404ef
mov esi, dword [ebp - 0x660]
mov dword [ebp - 0x5f0], esi
test esi, esi
je 0x5404ef
lock inc dword [esi + 8]
mov dword [ebp - 0x618], esi
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x540878
mov edi, dword [ebp - 0x5f0]
nop word [eax + eax]
xorps xmm0, xmm0
movlpd qword [ebp - 0x80], xmm0
movlpd qword [ebp - 0x78], xmm0
test edi, edi
je 0x54054e
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ad040
call fcn.004aae40
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x54054e
add ecx, 0xc
jmp 0x540553
mov ecx, 0x6aefbc
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5d8]
cmp edx, eax
je 0x540592
test edx, edx
je 0x54056c
lock inc dword [edx]
mov eax, dword [ebp - 0x5d8]
mov edx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x5d8], eax
test edx, edx
je 0x540592
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
jne 0x54058c
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, dword [ebp - 0x5d8]
xor ecx, ecx
mov dword [ebp - 0x5ec], ecx
lea esi, [ecx + 2]
nop dword [eax]
mov dword [ebp - 0x5d4], 0xffffffff
test eax, eax
je 0x5405b3
mov eax, dword [eax + 0xc]
jmp 0x5405b8
mov eax, 0x651f68
lea ecx, [ebp - 0x5d4]
add eax, 0xfffffffe
push ecx
add eax, esi
push 0x669d94
push eax
call fcn.0041abe0
add esp, 0xc
cmp eax, 1
jne 0x540654
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x5405f1
cmp esi, dword [eax + 4]
jge 0x5405f1
test esi, esi
js 0x5405f1
mov ecx, dword [eax + 0xc]
add ecx, esi
jmp 0x5405f6
mov ecx, 0x651f40
cmp byte [ecx], 0x3a
jne 0x540606
mov ecx, dword [ebp - 0x5ec]
cmp ecx, 5
jl 0x54062f
test eax, eax
je 0x54061a
cmp esi, dword [eax + 4]
jge 0x54061a
test esi, esi
js 0x54061a
mov ecx, dword [eax + 0xc]
add ecx, esi
jmp 0x54061f
mov ecx, 0x651f40
cmp byte [ecx], 0
jne 0x540654
cmp esi, 0x11
jne 0x540654
mov ecx, dword [ebp - 0x5ec]
mov edx, dword [ebp - 0x5d4]
cmp edx, 0xff
ja 0x540654
mov byte [ebp + ecx - 0x24], dl
add esi, 3
inc ecx
mov dword [ebp - 0x5ec], ecx
cmp esi, 0x14
jl 0x5405a0
cmp dword [ebp - 0x5ec], 6
jne 0x5407e0
test edi, edi
je 0x540692
lea eax, [ebp - 0x5d4]
mov dword [ebp - 0x5d4], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac934
call fcn.004aae40
mov eax, dword [ebp - 0x5d4]
test eax, eax
je 0x540692
add eax, 0xc
jmp 0x540697
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x5406a2
mov ecx, dword [eax + 0xc]
jmp 0x5406a7
mov ecx, 0x651f68
push ecx
lea eax, [ebp - 0x80]
or edx, 0xffffffff
push 0x651eaf
push eax
call fcn.005d2060
add esp, 0xc
test eax, eax
js 0x5407e0
mov eax, dword [ebp - 0x5e8]
movups xmm0, xmmword [ebp - 0x80]
mov si, word [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
test byte [eax + 0x18], 3
mov dword [ebp - 0x630], ecx
mov word [ebp - 0x62c], si
movups xmmword [ebp - 0x658], xmm0
jne 0x54072a
mov edi, dword [ebp - 0x5e8]
xor edx, edx
movzx eax, cx
xor eax, dword [ebp - 0x62e]
div dword [edi + 0x10]
mov eax, dword [edi + 0x14]
mov edi, dword [ebp - 0x5f0]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x54072a
cmp dword [eax + 4], ecx
jne 0x540724
cmp word [eax + 8], si
je 0x5407e0
mov eax, dword [eax]
test eax, eax
jne 0x540715
mov eax, dword [ebp - 0x80]
cmp eax, dword [0x6af130]
jne 0x540756
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x6af134]
jne 0x540756
mov eax, dword [ebp - 0x78]
cmp eax, dword [0x6af138]
jne 0x540756
mov eax, dword [ebp - 0x74]
cmp eax, dword [0x6af13c]
je 0x540770
mov esi, dword [ebp - 0x5f4]
lea eax, [ebp - 0x658]
push eax
mov ecx, esi
call fcn.004aa410
test eax, eax
je 0x5407e0
jmp 0x540776
mov esi, dword [ebp - 0x5f4]
mov ecx, dword [ebp - 0x5e8]
lea eax, [ebp - 0x658]
push 0
push eax
lea eax, [ebp - 0x630]
push eax
call fcn.00563790
mov eax, dword [ebp - 0x658]
cmp eax, dword [0x6af130]
jne 0x5407c9
mov eax, dword [ebp - 0x654]
cmp eax, dword [0x6af134]
jne 0x5407c9
mov eax, dword [ebp - 0x650]
cmp eax, dword [0x6af138]
jne 0x5407c9
mov eax, dword [ebp - 0x64c]
cmp eax, dword [0x6af13c]
je 0x5407e0
push 0
lea eax, [ebp - 0x630]
mov ecx, esi
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.004af350
lea eax, [ebp - 0x678]
push eax
lea ecx, [ebp - 0x61c]
call fcn.005bbdd0
mov ecx, dword [eax + 4]
cmp edi, ecx
je 0x54082d
mov esi, edi
mov dword [eax + 4], 0
mov edi, ecx
mov dword [ebp - 0x5f0], edi
mov dword [ebp - 0x618], edi
test esi, esi
je 0x54082d
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54082d
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x674]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x540864
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x540864
mov esi, dword [ebp - 0x674]
test esi, esi
je 0x540864
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
jne 0x540510
mov edi, dword [ebp - 0x5f8]
mov esi, dword [ebp - 0x5f0]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test esi, esi
je 0x54089f
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54089f
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x5d8]
test ecx, ecx
je 0x5408b9
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5408b9
push ecx
call fcn.005a47b0
test edi, edi
je 0x5408cf
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x5408cf
push ecx
mov ecx, edi
call fcn.005a47b0
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x60c]
call fcn.005bbdd0
mov edi, dword [ebp - 0x608]
mov ecx, dword [eax + 4]
cmp edi, ecx
je 0x54091c
mov esi, edi
mov dword [eax + 4], 0
mov edi, ecx
mov dword [ebp - 0x608], edi
test esi, esi
je 0x54091c
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54091c
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x540953
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x540953
mov esi, dword [ebp - 0x63c]
test esi, esi
je 0x540953
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
jne 0x53fb91
mov esi, dword [ebp - 0x66c]
test esi, esi
je 0x54097e
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54097e
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov al, byte [ebp - 0x620]
mov edi, dword [ebp - 0x628]
mov edx, dword [ebp - 0x624]
mov byte [ebp - 0x5d9], al
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x5ec], edi
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5d8], edx
nop dword [eax]
mov esi, dword [0x6a7114]
cmp esi, 0x6a7114
je 0x5409f0
test esi, esi
je 0x5409f0
add esi, 0xfffffffc
je 0x5409f0
nop word [eax + eax]
cmp byte [esi + 0x39], 0
jne 0x540b1f
mov esi, dword [esi + 4]
cmp esi, 0x6a7114
je 0x5409f0
test esi, esi
je 0x5409f0
add esi, 0xfffffffc
jne 0x5409d0
nop
mov esi, dword [0x6a7120]
cmp esi, 0x6a7120
je 0x540a31
test esi, esi
je 0x540a31
add esi, 0xfffffffc
je 0x540a31
nop word [eax + eax]
cmp byte [esi + 0x81], 0
jne 0x540be3
mov esi, dword [esi + 4]
cmp esi, 0x6a7120
je 0x540a31
test esi, esi
je 0x540a31
add esi, 0xfffffffc
jne 0x540a10
sub esp, 8
lea ecx, [ebp - 0x5d0]
call fcn.005e1bf0
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x40
jge 0x540a8c
mov dword [ebp + ecx*8 - 0x588], eax
mov dword [ebp + ecx*8 - 0x584], edx
xor ecx, ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x188], str.DHCP
call fcn.005ed6f0
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*8 - 0x388], ecx
mov dword [ebp + eax*8 - 0x384], edx
inc dword [ebp - 0x88]
mov esi, dword [ebp - 0x5d8]
test esi, esi
jg 0x540aa8
cmp byte [ebp - 0x5d9], 0
jne 0x540aa8
cmp dword [0x6ac6c4], 0
jne 0x540abc
dec esi
mov ecx, edi
mov dword [ebp - 0x5d8], esi
mov dword [ebp - 0x624], esi
call fcn.005e0810
mov byte [ebp - 4], 9
xor eax, eax
mov ecx, dword [ebp - 0x664]
mov dword [ebp - 0x5e8], ecx
mov dword [ebp - 0x5e4], eax
cmp eax, 2
jge 0x541458
push 0
sub esp, 8
lea ecx, [ebp - 0x58]
push 0
push 0x10
call fcn.0055c7a0
mov eax, dword [ebp - 0x634]
add eax, 0x35b
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5e8]
test eax, eax
jne 0x540cad
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
mov dword [ebp - 0x2c], eax
jmp 0x540cea
cmp dword [esi + 8], 0
je 0x540b33
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [edx], eax
mov edx, dword [ebp - 0x5d8]
cmp dword [esi + 4], 0
je 0x540b48
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x5ec]
mov dword [esi + 8], 0
mov dword [esi + 4], 0
test edx, edx
jg 0x540b6c
cmp byte [ebp - 0x5d9], 0
jne 0x540b6c
cmp dword [0x6ac6c4], 0
jne 0x540b80
dec edx
mov ecx, edi
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x624], edx
call fcn.005e0810
mov eax, dword [esi]
mov ecx, esi
push 0x12c
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x540b98
cmp dword [esi + 0xc], 0xffffffff
jne 0x540ba0
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0xffffffffffffffff
push dword [edi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x540bba
mov dword [edi + 8], 0
jmp 0x540bc8
mov edx, dword [ebp - 0x5d8]
test eax, eax
jne 0x5409b0
mov edx, dword [ebp - 0x5d8]
inc dword [edi + 0xc]
inc dword [edi + 8]
inc dword [edi + 4]
inc edx
mov dword [ebp - 0x624], edx
jmp 0x5409a7
cmp dword [esi + 8], 0
je 0x540bf7
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [edx], eax
mov edx, dword [ebp - 0x5d8]
cmp dword [esi + 4], 0
je 0x540c0c
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x5ec]
mov dword [esi + 8], 0
mov dword [esi + 4], 0
test edx, edx
jg 0x540c30
cmp byte [ebp - 0x5d9], 0
jne 0x540c30
cmp dword [0x6ac6c4], 0
jne 0x540c44
dec edx
mov ecx, edi
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x624], edx
call fcn.005e0810
mov eax, dword [esi]
mov ecx, esi
push 0x12c
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x540c5c
cmp dword [esi + 0xc], 0xffffffff
jne 0x540c64
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0xffffffffffffffff
push dword [edi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x540c7e
mov dword [edi + 8], 0
jmp 0x540c8c
mov edx, dword [ebp - 0x5d8]
test eax, eax
jne 0x5409f0
mov edx, dword [ebp - 0x5d8]
inc dword [edi + 0xc]
inc dword [edi + 8]
inc dword [edi + 4]
inc edx
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x624], edx
jmp 0x5409f0
lea ecx, [eax + 0x81]
lea eax, [ebp - 0x660]
push eax
push 0x6ad098
call fcn.005c67a0
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test eax, eax
je 0x540cd9
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x540cea
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x540cea
lock inc dword [eax + 8]
mov dword [ebp - 0x618], eax
test eax, eax
jne 0x540d08
xor edx, edx
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
mov dword [ebp - 0x610], edx
jmp 0x540d4b
lea ecx, [eax + 0x81]
lea eax, [ebp - 0x670]
push eax
push 0x6ad09c
call fcn.005c67a0
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test eax, eax
je 0x540d37
xor edx, edx
mov dword [ebp - 0x610], edx
jmp 0x540d4b
mov edx, dword [ebp - 0x670]
mov dword [ebp - 0x610], edx
test edx, edx
je 0x540d4b
lock inc dword [edx + 8]
mov dword [ebp - 0x608], edx
test edx, edx
je 0x541314
lea eax, [ebp - 0x5f4]
mov dword [ebp - 0x5f4], 0
push eax
lea ecx, [edx + 0x37]
push 0x6ac928
call fcn.004aae40
mov esi, dword [ebp - 0x5f4]
test esi, esi
je 0x540d86
add esi, 0xc
jmp 0x540d8b
mov esi, 0x6aefbc
mov esi, dword [esi]
mov dword [ebp - 0x5f4], esi
test esi, esi
je 0x540daa
lock inc dword [esi]
mov eax, esi
mov dword [ebp - 0x600], esi
mov ecx, esi
mov edx, esi
mov edi, esi
jmp 0x540dc0
xor esi, esi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x5f4], esi
xor edx, edx
mov dword [ebp - 0x600], eax
xor edi, edi
mov dword [ebp - 0x5f8], esi
mov byte [ebp - 4], 0x23
test byte [ebp - 0x40], 3
jne 0x540f25
test eax, eax
je 0x540ecc
test byte [ecx + 0x10], 2
je 0x540dea
mov ecx, dword [edx + 8]
jmp 0x540ece
mov eax, dword [ebp - 0x600]
xor ecx, ecx
mov edi, dword [edi + 4]
mov dword [ebp - 0x5fc], edi
mov dword [ebp - 0x600], ecx
mov edx, dword [eax + 0xc]
cmp edi, 4
ja 0x540e39
push edi
push edx
lea eax, [ebp - 0x600]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x600]
add esp, 0xc
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x5f8]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0x5f8]
jmp 0x540ece
mov eax, edi
sar eax, 2
mov dword [ebp - 0x600], eax
xor eax, eax
mov dword [ebp - 0x5e0], eax
cmp dword [ebp - 0x600], eax
je 0x540e8a
mov esi, dword [ebp - 0x600]
xor edi, edi
nop dword [eax]
mov ecx, eax
shl edi, 7
shr ecx, 0x19
or ecx, edi
xor ecx, dword [edx]
add edx, 4
mov eax, ecx
mov edi, eax
sub esi, 1
jne 0x540e60
mov esi, dword [ebp - 0x5f4]
mov edi, dword [ebp - 0x5fc]
mov dword [ebp - 0x5e0], eax
and edi, 3
je 0x540eb6
mov esi, dword [ebp - 0x5e0]
mov ecx, eax
shl esi, 7
movzx eax, byte [edx]
lea edx, [edx + 1]
shr ecx, 0x19
or ecx, esi
xor ecx, eax
mov eax, ecx
mov esi, eax
sub edi, 1
jne 0x540e95
mov esi, dword [ebp - 0x5f4]
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x5f8]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0x5f8]
jmp 0x540ece
xor ecx, ecx
xor edx, edx
mov eax, ecx
div dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test edi, edi
je 0x540f25
mov ecx, dword [edi + 4]
cmp ecx, esi
je 0x540f14
test ecx, ecx
je 0x540f0c
test esi, esi
je 0x540f0c
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x540f0c
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x540f14
mov edi, dword [edi]
test edi, edi
jne 0x540ee2
jmp 0x540f25
mov esi, dword [edi + 8]
mov dword [ebp - 0x644], esi
test esi, esi
jne 0x54127a
mov esi, dword [ebp - 0x5ec]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x540f45
mov dword [esi + 8], 0
jmp 0x540f49
test eax, eax
jne 0x540f65
mov eax, dword [ebp - 0x5d8]
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc eax
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x5d4]
test byte [eax + 0x18], 3
jne 0x5410ce
mov esi, dword [ebp - 0x5f8]
mov dword [ebp - 0x5f4], esi
test esi, esi
je 0x54106f
test byte [esi + 0x10], 2
je 0x540f97
mov ecx, dword [esi + 8]
jmp 0x541071
mov edi, dword [esi + 4]
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x5fc], edi
mov dword [ebp - 0x5e0], ecx
cmp edi, 4
ja 0x540fe0
push edi
push edx
lea eax, [ebp - 0x5e0]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x5e0]
add esp, 0xc
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x5f8]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0x5f8]
jmp 0x541071
mov eax, edi
sar eax, 2
mov dword [ebp - 0x5e0], eax
xor eax, eax
mov dword [ebp - 0x600], eax
cmp dword [ebp - 0x5e0], eax
je 0x54102d
mov esi, dword [ebp - 0x5e0]
xor edi, edi
mov ecx, edi
shr eax, 0x19
shl ecx, 7
or ecx, eax
xor ecx, dword [edx]
add edx, 4
mov eax, ecx
mov edi, eax
sub esi, 1
jne 0x541003
mov esi, dword [ebp - 0x5f4]
mov edi, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], eax
and edi, 3
je 0x541059
mov esi, dword [ebp - 0x600]
mov ecx, eax
shl esi, 7
movzx eax, byte [edx]
lea edx, [edx + 1]
shr ecx, 0x19
or ecx, esi
xor ecx, eax
mov eax, ecx
mov esi, eax
sub edi, 1
jne 0x541038
mov esi, dword [ebp - 0x5f4]
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x5f8]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0x5f8]
jmp 0x541071
xor ecx, ecx
mov eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x5d4]
div dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test edi, edi
je 0x5410c8
nop dword [eax + eax]
mov ecx, dword [edi + 4]
cmp ecx, esi
je 0x54122b
test ecx, ecx
je 0x5410c2
test esi, esi
je 0x5410c2
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x5410c2
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x54122b
mov edi, dword [edi]
test edi, edi
jne 0x541090
mov esi, dword [ebp - 0x5ec]
mov edi, dword [ebp - 0x5d8]
test edi, edi
jg 0x5410ea
cmp byte [ebp - 0x5d9], 0
jne 0x5410ea
cmp dword [0x6ac6c4], 0
jne 0x5410fe
dec edi
mov ecx, esi
mov dword [ebp - 0x5d8], edi
mov dword [ebp - 0x624], edi
call fcn.005e0810
push 0x220
mov byte [ebp - 4], 0x26
call fcn.00606edf
mov ecx, eax
add esp, 4
mov dword [ebp - 0x630], ecx
sub esp, 8
mov byte [ebp - 4], 0x27
mov edi, dword [ebp - 0x610]
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
lock inc dword [edi + 8]
mov dword [eax + 4], edi
call fcn.00448b50
mov esi, eax
mov dword [ebp - 4], 0x23
mov dword [ebp - 0x644], esi
test esi, esi
je 0x541162
push ecx
lea eax, [ebp - 0x644]
push eax
lea eax, [ebp - 0x5f8]
push eax
lea ecx, [ebp - 0x58]
call fcn.00564420
mov edi, dword [ebp - 0x5ec]
mov ecx, dword [ebp - 0x5f8]
or edx, 0xffffffff
test ecx, ecx
je 0x541184
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x541184
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x60c]
call fcn.005bbdd0
mov edx, dword [ebp - 0x610]
mov ecx, dword [eax + 4]
cmp edx, ecx
je 0x5411dd
mov esi, edx
mov dword [eax + 4], 0
mov edx, ecx
mov dword [ebp - 0x610], edx
mov dword [ebp - 0x608], edx
test esi, esi
je 0x5411dd
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x5411dd
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov edx, dword [ebp - 0x610]
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x540d51
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x540d51
mov esi, dword [ebp - 0x63c]
test esi, esi
je 0x540d51
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov edx, dword [ebp - 0x610]
jmp 0x540d51
mov esi, dword [edi + 8]
mov dword [ebp - 0x644], esi
test esi, esi
je 0x5410c8
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov edi, dword [ebp - 0x5d8]
test edi, edi
jg 0x54125e
cmp byte [ebp - 0x5d9], 0
jne 0x54125e
cmp dword [0x6ac6c4], 0
jne 0x541276
mov ecx, dword [ebp - 0x5ec]
dec edi
mov dword [ebp - 0x5d8], edi
mov dword [ebp - 0x624], edi
call fcn.005e0810
mov byte [ebp - 4], 0x23
mov eax, dword [esi]
sub esp, 8
mov edi, dword [ebp - 0x610]
mov edx, dword [eax + 0xc]
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
lock inc dword [edi + 8]
mov ecx, esi
mov dword [eax + 4], edi
call edx
jmp 0x541147
push 0xffffffffffffffff
push dword [edi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x54132e
mov dword [edi + 8], 0
jmp 0x541332
test eax, eax
jne 0x541350
mov esi, dword [ebp - 0x5d8]
inc dword [edi + 0xc]
inc dword [edi + 8]
inc dword [edi + 4]
inc esi
mov dword [ebp - 0x5d8], esi
mov dword [ebp - 0x624], esi
jmp 0x541356
mov esi, dword [ebp - 0x5d8]
mov ecx, dword [ebp - 0x5d4]
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jg 0x54137b
cmp byte [ebp - 0x5d9], 0
jne 0x54137b
cmp dword [0x6ac6c4], 0
jne 0x54138f
dec esi
mov ecx, edi
mov dword [ebp - 0x5d8], esi
mov dword [ebp - 0x624], esi
call fcn.005e0810
mov ecx, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x5e0], edi
test ecx, ecx
je 0x5413f7
xor edx, edx
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x44]
mov esi, dword [eax + edx]
test esi, esi
je 0x5413dd
mov edi, dword [esi]
lea eax, [esi + 4]
mov esi, dword [esi + 8]
lea ecx, [ebp - 0x58]
push eax
call fcn.0055c600
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, edi
test edi, edi
jne 0x5413b0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x600]
mov edi, dword [ebp - 0x5e0]
inc edi
add edx, 4
mov dword [ebp - 0x5e0], edi
mov dword [ebp - 0x600], edx
cmp edi, ecx
jb 0x5413a6
mov esi, dword [ebp - 0x5d8]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test edi, edi
je 0x54142b
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x54142b
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], vtable.CMaaUnivHash_New_class_CMaaString__class_CHttpDiskCacheBase___1_.0
call fcn.00564660
lea ecx, [ebp - 0x3c]
call fcn.0040a090
mov eax, dword [ebp - 0x5e4]
mov edi, dword [ebp - 0x5ec]
inc eax
jmp 0x540ace
mov ecx, dword [ebp - 0x634]
mov eax, dword [ecx + 0x89]
push dword [ecx + 0x7d]
dec dword [ecx + 0x81]
dec eax
dec dword [ecx + 0x85]
mov dword [ebp - 0x638], eax
mov dword [ecx + 0x89], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x5414a4
mov ecx, dword [ebp - 0x634]
inc dword [ecx + 0x89]
inc dword [ecx + 0x85]
inc dword [ecx + 0x81]
jmp 0x5414d0
cmp dword [ebp - 0x638], 0
jne 0x5414d0
mov eax, dword [ebp - 0x634]
push dword [eax + 0x7d]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x634]
add eax, 0x7d
push 0x10
push eax
call fcn.00606a78
add esp, 8
mov cl, byte [ebx + 0x10]
mov byte [ebp - 4], 9
call fcn.0053d0f0
mov eax, dword [0x6ac680]
test eax, eax
je 0x541563
mov eax, dword [eax + 0xc48048]
mov dword [ebp - 0x5fc], eax
test eax, eax
je 0x541563
mov ecx, dword [ebp - 0x5e8]
sub esp, 8
mov eax, esp
mov dword [ebp - 0x638], eax
test ecx, ecx
jne 0x541515
mov dword [eax], vtable.CMaaXmlNode.0
mov dword [eax + 4], ecx
jmp 0x541556
lea eax, [ebp - 0x660]
add ecx, 0x81
push eax
push 0x6acff8
call fcn.005c67a0
mov ecx, dword [ebp - 0x638]
mov dword [ecx], vtable.CMaaXmlNode.0
test eax, eax
je 0x541545
mov dword [ecx + 4], 0
jmp 0x541556
mov eax, dword [ebp - 0x660]
test eax, eax
je 0x541553
lock inc dword [eax + 8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x5fc]
push 0
call fcn.0058a6a0
cmp byte [ebx + 0x10], 0
je 0x5415f1
push 0xffffffffffffffff
push dword [edi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x541587
mov dword [edi + 8], 0
jmp 0x54158b
test eax, eax
jne 0x54159b
inc dword [edi + 0xc]
inc dword [edi + 8]
inc dword [edi + 4]
inc esi
mov dword [ebp - 0x624], esi
mov ecx, dword [0x6ac5b8]
test ecx, ecx
je 0x5415cd
push 1
push 0
add ecx, 0x3d4
push 1
call fcn.0041b220
mov ecx, dword [0x6ac5b8]
push 1
push 0
push 1
lea ecx, [ecx + 0x405]
call fcn.0041b220
test esi, esi
jg 0x5415e3
cmp byte [ebp - 0x5d9], 0
jne 0x5415e3
cmp dword [0x6ac6c4], 0
jne 0x5415f1
dec esi
mov ecx, edi
mov dword [ebp - 0x624], esi
call fcn.005e0810
push 0xffffffffffffffff
push dword [edi]
call dword [ebp - 0x5f0]
cmp eax, 0x80
jne 0x54160b
mov dword [edi + 8], 0
jmp 0x54160f
test eax, eax
jne 0x54161f
inc dword [edi + 0xc]
inc dword [edi + 8]
inc dword [edi + 4]
inc esi
mov dword [ebp - 0x624], esi
mov ecx, dword [0x6ac5b8]
test ecx, ecx
je 0x541651
push 1
push 0
add ecx, 0x436
push 1
call fcn.0041b220
mov ecx, dword [0x6ac5b8]
push 1
push 0
push 1
lea ecx, [ecx + 0x467]
call fcn.0041b220
test esi, esi
jg 0x541667
cmp byte [ebp - 0x5d9], 0
jne 0x541667
cmp dword [0x6ac6c4], 0
jne 0x541675
dec esi
mov ecx, edi
mov dword [ebp - 0x624], esi
call fcn.005e0810
mov esi, dword [ebp - 0x5e8]
or edi, 0xffffffff
test esi, esi
je 0x54169a
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54169a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea ecx, [ebp - 0x628]
call fcn.0041d9b0
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5416db
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5416db
mov esi, dword [ebp - 0x67c]
test esi, esi
je 0x5416db
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x684]
test ecx, ecx
je 0x5416f4
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5416f4
push ecx
call fcn.005a47b0
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x541708
lock xadd dword [ecx], edi
dec edi
jne 0x541708
push ecx
call fcn.005a47b0
mov al, byte [ebp - 0x601]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc