Function at 0x4060d0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x10034]
mov eax, 0x10034
call fcn.006272c0
push 0xffffffffffffffff
push 0x6296b2
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp + 0x10030], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [0x6af2ac]
push ecx
lea ecx, [ebp - 0x100]
call fcn.006020a0
add esp, 4
test eax, eax
je 0x406133
push str.Can_not_init_api_request_n
jmp 0x4080a6
push str.Request_is_initialized_n
push 0x6a6e70
call fcn.0042abc0
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 8
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x68], edi
nop dword [eax]
nop word [eax + eax]
push str.Try_to_accept_new_api_request_n
push 0x6a6e70
call fcn.0042abc0
mov esi, dword [0x6af2a8]
add esp, 8
test esi, esi
je 0x4061af
push 0xffffffffffffffff
push dword [esi]
call ebx
cmp eax, 0x80
jne 0x4061a2
mov dword [esi + 8], 0
jmp 0x4061a6
test eax, eax
jne 0x4061af
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
lea ecx, [ebp - 0x100]
call fcn.00602180
mov ecx, dword [0x6af2a8]
mov esi, eax
test ecx, ecx
je 0x4061cb
call fcn.005e0810
test esi, esi
js 0x4080a1
push str.api_request_is_accepted_n
push 0x6a6e70
call fcn.0042abc0
add esp, 8
mov ecx, dword [0x6b0dd8]
call fcn.005e0dc0
mov eax, dword [0x6ad8e0]
test eax, eax
je 0x406201
lock inc dword [eax]
mov dword [ebp - 0x7c], eax
jmp 0x406208
mov dword [ebp - 0x7c], 0
mov esi, dword [0x6b0dd8]
call edi
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x40622b
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x406228
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
push 0
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xa8]
push 0
push 0x10
call fcn.0040a300
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0xec]
test esi, esi
je 0x40628a
cmp dword [esi], 0
je 0x40628a
mov eax, dword [esi]
nop dword [eax + eax]
push 0xc
push eax
push str.QUERY_STRING
call fcn.00614950
add esp, 0xc
test eax, eax
jne 0x406280
mov eax, dword [esi]
cmp byte [eax + 0xc], 0x3d
je 0x406341
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x406260
xor edi, edi
call fcn.005a45d0
mov dword [ebp - 0x130], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4062c8
test edi, edi
mov ecx, 0x651eaf
cmovne ecx, edi
push ecx
mov ecx, eax
call fcn.005a5480
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x4062cd
cmp dword [esi + 0xc], 0
jne 0x4062cd
push ecx
mov ecx, esi
call fcn.005a47b0
xor esi, esi
mov dword [ebp - 0x24], esi
mov byte [ebp - 4], 5
test edi, edi
jne 0x40649b
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x406316
cmp dword [edi], 0
je 0x406316
mov eax, dword [edi]
nop word [eax + eax]
push 0xe
push eax
push str.REQUEST_METHOD
call fcn.00614950
add esp, 0xc
test eax, eax
jne 0x40630c
mov eax, dword [edi]
cmp byte [eax + 0xe], 0x3d
je 0x406349
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
jne 0x4062f0
xor edi, edi
call fcn.005a45d0
mov dword [ebp - 0x158], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x40634e
test edi, edi
mov ecx, 0x651eaf
cmovne ecx, edi
push ecx
mov ecx, eax
call fcn.005a5480
mov edi, eax
jmp 0x406350
lea edi, [eax + 0xd]
jmp 0x40628c
lea edi, [eax + 0xf]
jmp 0x406318
xor edi, edi
mov byte [ebp - 4], 5
test edi, edi
je 0x406389
cmp dword [edi + 0xc], 0
je 0x406381
mov ecx, esi
mov esi, edi
mov dword [ebp - 0x24], esi
test ecx, ecx
je 0x406379
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x406379
push ecx
call fcn.005a47b0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0xc]
jmp 0x4063ad
push ecx
mov ecx, edi
call fcn.005a47b0
mov ecx, esi
xor esi, esi
mov dword [ebp - 0x24], esi
test ecx, ecx
je 0x4063a4
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x4063a4
push ecx
call fcn.005a47b0
xor eax, eax
mov ecx, 0x651f68
xor edi, edi
push 0
push 0
push eax
mov edx, 0x6532d4
call fcn.005aeb30
add esp, 0xc
test al, al
je 0x40649b
xor esi, esi
or ebx, 0xffffffff
mov dword [ebp - 0x24], esi
test edi, edi
je 0x4063e4
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x4063e4
push ecx
mov ecx, edi
call fcn.005a47b0
push dword [ebp - 0xf8]
mov edx, 0x10000
lea ecx, [ebp + 0x30]
call fcn.00600c40
mov edi, eax
add esp, 4
test edi, edi
jle 0x40669b
call fcn.005a45d0
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x40643a
push 0
push edi
lea ecx, [ebp + 0x30]
push ecx
mov ecx, eax
call fcn.005a57f0
mov dword [ebp - 0x40], eax
test eax, eax
je 0x406441
cmp dword [eax + 0xc], 0
jne 0x406441
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x24]
call fcn.005a6990
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x40646b
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40646b
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x40647b
cmp dword [esi + 4], 0x20000
jg 0x4064af
push dword [ebp - 0xf8]
mov edx, 0x10000
lea ecx, [ebp + 0x30]
call fcn.00600c40
mov edi, eax
add esp, 4
test edi, edi
jg 0x406404
test esi, esi
je 0x4066b1
mov ecx, dword [esi + 0xc]
test esi, esi
je 0x4064d3
mov eax, dword [esi + 4]
jmp 0x4064d5
mov ecx, esi
xor esi, esi
test ecx, ecx
je 0x40669b
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40669b
push ecx
call fcn.005a47b0
jmp 0x40669b
xor eax, eax
add eax, ecx
mov edi, ecx
cmp ecx, eax
jae 0x4064ea
nop dword [eax]
cmp byte [edi], 0x26
je 0x4064f6
inc edi
cmp edi, eax
jb 0x4064e0
or edi, 0xffffffff
test esi, esi
je 0x4064fe
mov eax, dword [esi + 4]
jmp 0x406500
sub edi, ecx
js 0x4064ed
mov eax, edi
jmp 0x406500
xor eax, eax
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x24]
call fcn.005ac5a0
mov byte [ebp - 4], 9
test edi, edi
js 0x406518
inc edi
jmp 0x406523
test esi, esi
je 0x406521
mov edi, dword [esi + 4]
jmp 0x406523
xor edi, edi
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x24]
call fcn.005ac6c0
mov edx, dword [eax]
cmp esi, edx
je 0x40655e
mov ecx, esi
mov dword [eax], 0
mov esi, edx
or edx, 0xffffffff
mov dword [ebp - 0x24], esi
test ecx, ecx
je 0x406561
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x406561
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x40657a
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x40657a
push ecx
call fcn.005a47b0
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x406586
mov ecx, dword [edi + 0xc]
jmp 0x40658b
mov ecx, 0x651f68
test edi, edi
je 0x406594
mov eax, dword [edi + 4]
jmp 0x406596
xor eax, eax
add eax, ecx
mov ebx, ecx
cmp ecx, eax
jae 0x406679
cmp byte [ebx], 0x3d
je 0x4065b1
inc ebx
cmp ebx, eax
jb 0x4065a2
jmp 0x406679
sub ebx, ecx
js 0x406679
push ebx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x60]
call fcn.005ac5a0
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.005b3b90
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x4065f5
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x4065f5
push ecx
call fcn.005a47b0
push 0xffffffffffffffff
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x60]
call fcn.005ac6c0
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6c]
call fcn.005b3b90
mov byte [ebp - 4], 0xf
or ebx, 0xffffffff
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x406638
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x406638
push ecx
call fcn.005a47b0
push 0
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00408c20
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x406663
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x406663
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x406679
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x406679
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 5
test edi, edi
je 0x406693
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x406693
push ecx
mov ecx, edi
call fcn.005a47b0
test esi, esi
jne 0x4064a3
test esi, esi
je 0x4066b1
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x4066b1
push ecx
mov ecx, esi
call fcn.005a47b0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0xec]
test esi, esi
je 0x4066fa
cmp dword [esi], 0
je 0x4066fa
mov eax, dword [esi]
push 0xb
push eax
push str.REMOTE_ADDR
call fcn.00614950
add esp, 0xc
test eax, eax
jne 0x4066f0
mov eax, dword [esi]
cmp byte [eax + 0xb], 0x3d
je 0x406723
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x4066d4
xor esi, esi
call fcn.005a45d0
mov dword [ebp - 0x160], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x406728
test esi, esi
mov ecx, 0x651eaf
cmovne ecx, esi
push ecx
mov ecx, eax
call fcn.005a5480
jmp 0x40672a
lea esi, [eax + 0xc]
jmp 0x4066fc
xor eax, eax
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x406743
cmp dword [eax + 0xc], 0
jne 0x406748
push ecx
mov ecx, eax
call fcn.005a47b0
xor eax, eax
mov dword [ebp - 0x40], eax
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x74], eax
test esi, esi
je 0x406786
cmp dword [esi], 0
je 0x406786
mov eax, dword [esi]
nop dword [eax]
push 0xe
push eax
push str.REMOTE_ADDR_K0
call fcn.00614950
add esp, 0xc
test eax, eax
jne 0x40677c
mov eax, dword [esi]
cmp byte [eax + 0xe], 0x3d
je 0x4067c1
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x406760
xor esi, esi
call fcn.005a45d0
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4067ce
test esi, esi
mov ecx, 0x651eaf
cmovne ecx, esi
push ecx
mov ecx, eax
call fcn.005a5480
mov esi, eax
mov dword [ebp - 0x64], esi
test esi, esi
je 0x4067ce
cmp dword [esi + 0xc], 0
je 0x4067c6
mov dword [ebp - 0x78], esi
jmp 0x4067d6
lea esi, [eax + 0xf]
jmp 0x406788
push ecx
mov ecx, esi
call fcn.005a47b0
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x78], ecx
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xc0], eax
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x16
call fcn.005a45d0
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x406819
push str.api_key
mov ecx, eax
call fcn.005a5480
mov esi, eax
mov dword [ebp - 0x18], eax
jmp 0x40681e
xor esi, esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x16
test esi, esi
je 0x406839
cmp dword [esi + 0xc], 0
jne 0x406839
push ecx
mov ecx, esi
call fcn.005a47b0
xor esi, esi
mov dword [ebp - 0x18], esi
test byte [ebp - 0x90], 3
jne 0x40695d
test esi, esi
je 0x4068f9
test byte [esi + 0x10], 2
je 0x40685c
mov ecx, dword [esi + 8]
jmp 0x4068fb
mov ebx, dword [esi + 4]
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x30], ecx
cmp ebx, 4
ja 0x406887
push ebx
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov dword [esi + 8], ecx
or word [esi + 0x10], 2
jmp 0x4068fb
mov eax, ebx
sar eax, 2
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x30], eax
je 0x4068c1
mov edi, dword [ebp - 0x30]
xor esi, esi
nop
mov ecx, esi
shr eax, 0x19
shl ecx, 7
or ecx, eax
xor ecx, dword [edx]
add edx, 4
mov eax, ecx
mov esi, eax
sub edi, 1
jne 0x4068a0
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
and ebx, 3
je 0x4068ef
mov edi, dword [ebp - 0x14]
nop dword [eax]
mov ecx, edi
shr eax, 0x19
shl ecx, 7
lea edx, [edx + 1]
or ecx, eax
movzx eax, byte [edx - 1]
xor ecx, eax
mov eax, ecx
mov edi, eax
sub ebx, 1
jne 0x4068d0
mov edi, dword [ebp - 0x24]
mov dword [esi + 8], ecx
or word [esi + 0x10], 2
jmp 0x4068fb
xor ecx, ecx
xor edx, edx
mov eax, ecx
div dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
mov ebx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ebx, ebx
je 0x40695d
mov ecx, dword [ebx + 4]
cmp ecx, esi
je 0x406947
test ecx, ecx
je 0x40693f
test esi, esi
je 0x40693f
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x40693f
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x406947
mov ebx, dword [ebx]
test ebx, ebx
jne 0x406915
jmp 0x40695d
mov eax, dword [ebx + 8]
test eax, eax
je 0x40695d
lock inc dword [eax]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xc0], eax
test esi, esi
je 0x406973
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x406973
push ecx
mov ecx, esi
call fcn.005a47b0
call fcn.005a45d0
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x406999
push 0x653300
mov ecx, eax
call fcn.005a5480
mov esi, eax
mov dword [ebp - 0x18], eax
jmp 0x40699e
xor esi, esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x16
test esi, esi
je 0x4069b9
cmp dword [esi + 0xc], 0
jne 0x4069b9
push ecx
mov ecx, esi
call fcn.005a47b0
xor esi, esi
mov dword [ebp - 0x18], esi
test byte [ebp - 0x90], 3
jne 0x406ad9
test esi, esi
je 0x406a78
test byte [esi + 0x10], 2
je 0x4069dc
mov ecx, dword [esi + 8]
jmp 0x406a7a
mov ebx, dword [esi + 4]
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x30], ecx
cmp ebx, 4
ja 0x406a07
push ebx
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov dword [esi + 8], ecx
or word [esi + 0x10], 2
jmp 0x406a7a
mov eax, ebx
sar eax, 2
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x30], eax
je 0x406a41
mov edi, dword [ebp - 0x30]
xor esi, esi
nop
mov ecx, esi
shr eax, 0x19
shl ecx, 7
or ecx, eax
xor ecx, dword [edx]
add edx, 4
mov eax, ecx
mov esi, eax
sub edi, 1
jne 0x406a20
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
and ebx, 3
je 0x406a6e
mov edi, dword [ebp - 0x14]
nop dword [eax]
mov ecx, eax
shl edi, 7
movzx eax, byte [edx]
lea edx, [edx + 1]
shr ecx, 0x19
or ecx, edi
xor ecx, eax
mov eax, ecx
mov edi, eax
sub ebx, 1
jne 0x406a50
mov edi, dword [ebp - 0x24]
mov dword [esi + 8], ecx
or word [esi + 0x10], 2
jmp 0x406a7a
xor ecx, ecx
xor edx, edx
mov eax, ecx
div dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
mov ebx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ebx, ebx
je 0x406ad9
mov ecx, dword [ebx + 4]
cmp ecx, esi
je 0x406ac6
test ecx, ecx
je 0x406abe
test esi, esi
je 0x406abe
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x406abe
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x406ac6
mov ebx, dword [ebx]
test ebx, ebx
jne 0x406a94
jmp 0x406ad9
mov eax, dword [ebx + 8]
test eax, eax
je 0x406ad9
lock inc dword [eax]
mov edi, dword [ebx + 8]
mov dword [ebp - 0xc4], edi
or ebx, 0xffffffff
test esi, esi
je 0x406af1
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x406af1
push ecx
mov ecx, esi
call fcn.005a47b0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
test ecx, ecx
je 0x406b0b
mov ecx, dword [ecx + 0xc]
jmp 0x406b10
mov ecx, 0x651f68
lea edx, [ebp - 0x14]
call fcn.005d2570
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x406b24
mov ecx, dword [esi + 0xc]
jmp 0x406b29
mov ecx, 0x651f68
lea edx, [ebp - 0x1c]
call fcn.005d2570
mov eax, dword [ebp - 0x40]
xorps xmm0, xmm0
movlpd qword [ebp - 0x178], xmm0
movlpd qword [ebp - 0x170], xmm0
movlpd qword [ebp + 0x20], xmm0
movlpd qword [ebp + 0x28], xmm0
test eax, eax
je 0x406b5a
mov edx, dword [eax + 4]
jmp 0x406b5c
xor edx, edx
test eax, eax
je 0x406b65
mov ecx, dword [eax + 0xc]
jmp 0x406b6a
mov ecx, 0x651f68
push ecx
lea eax, [ebp - 0x178]
push 0x651eaf
push eax
call fcn.005d2060
add esp, 0xc
test esi, esi
je 0x406b88
mov edx, dword [esi + 4]
jmp 0x406b8a
xor edx, edx
test esi, esi
je 0x406b93
mov ecx, dword [esi + 0xc]
jmp 0x406b98
mov ecx, 0x651f68
push ecx
lea eax, [ebp + 0x20]
push 0x651eaf
push eax
call fcn.005d2060
mov esi, dword [ebp - 0x7c]
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], esi
test esi, esi
je 0x407e14
cmp eax, esi
je 0x406bea
test eax, eax
je 0x407e63
mov ecx, dword [eax + 4]
cmp ecx, dword [esi + 4]
jne 0x407e14
mov edx, dword [esi + 0xc]
push ecx
mov ecx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
je 0x407e11
push dword [ebp - 0xf4]
mov edx, 0x1a
mov ecx, str.Content_type:_text_plain_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 0x19
mov ecx, str.Cache_control:_no_cache_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 2
mov ecx, 0x653350
call fcn.00600d00
add esp, 0xc
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 0x1c
mov esi, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0x48]
cmp eax, 0x80
jne 0x406c54
mov dword [esi + 8], 0
jmp 0x406c58
test eax, eax
jne 0x406c61
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
mov ecx, dword [ebp - 0x14]
call fcn.0056e760
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x406cc2
mov ecx, dword [0x6ac684]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00552580
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax]
cmp ecx, edx
je 0x406ca9
mov dword [ebp - 0x4c], edx
mov dword [eax], 0
test ecx, ecx
je 0x406ca9
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x406ca9
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x406cc2
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x406cc2
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x1c
mov ecx, dword [0x6ac16c]
call fcn.005e0810
mov esi, str.username
test edi, edi
je 0x406cdf
mov ecx, dword [edi + 0xc]
jmp 0x406ce4
mov ecx, 0x651f68
test edi, edi
je 0x406ced
mov eax, dword [edi + 4]
jmp 0x406cef
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x406d10
mov dl, byte [esi]
test dl, dl
je 0x406e6e
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x406e6e
cmp ecx, ebx
jb 0x406cf6
jne 0x406e6e
cmp byte [esi], 0
jne 0x406e6e
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 0x1f
call fcn.005a45d0
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x406d5e
push str.userid
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x24], eax
test eax, eax
je 0x406d65
cmp dword [eax + 0xc], 0
jne 0x406d65
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x406d8f
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x406d8f
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x406e3f
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
call fcn.005b7c90
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x406e3f
mov ebx, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [ebx]
call dword [ebp - 0x48]
cmp eax, 0x80
jne 0x406dce
mov dword [ebx + 8], 0
jmp 0x406dd2
test eax, eax
jne 0x406ddb
inc dword [ebx + 0xc]
inc dword [ebx + 8]
inc dword [ebx + 4]
push dword [ebp - 0x18]
mov ecx, dword [0x6ac684]
lea eax, [ebp - 0xac]
push eax
call fcn.00552580
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax]
cmp ecx, edx
je 0x406e18
mov dword [ebp - 0x4c], edx
or edx, 0xffffffff
mov dword [eax], 0
test ecx, ecx
je 0x406e1b
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x406e1b
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x406e34
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x406e34
push ecx
call fcn.005a47b0
mov ecx, dword [0x6ac16c]
call fcn.005e0810
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push str.username:__S
push eax
call fcn.005abfb0
add esp, 0xc
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x406e6e
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x406e6e
push ecx
mov ecx, esi
call fcn.005a47b0
mov esi, str.userid
test edi, edi
je 0x406e7c
mov ecx, dword [edi + 0xc]
jmp 0x406e81
mov ecx, 0x651f68
test edi, edi
je 0x406e8a
mov eax, dword [edi + 4]
jmp 0x406e8c
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x406ea5
mov dl, byte [esi]
test dl, dl
je 0x406ec0
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x406ec0
cmp ecx, ebx
jb 0x406e93
jne 0x406ec0
cmp byte [esi], 0
jne 0x406ec0
push dword [ebp - 0x18]
lea eax, [ebp - 0x10]
push str.userid:__d
push eax
call fcn.005abfb0
add esp, 0xc
mov esi, str.getbalance
test edi, edi
je 0x406ece
mov ecx, dword [edi + 0xc]
jmp 0x406ed3
mov ecx, 0x651f68
test edi, edi
je 0x406edc
mov eax, dword [edi + 4]
jmp 0x406ede
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x406ef7
mov dl, byte [esi]
test dl, dl
je 0x406f5d
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x406f5d
cmp ecx, ebx
jb 0x406ee5
jne 0x406f5d
cmp byte [esi], 0
jne 0x406f5d
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x25]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
xorps xmm0, xmm0
mov byte [ebp - 0x25], 0
push 0
push 0
lea edx, [ebp - 0x3c]
movsd qword [ebp - 0x3c], xmm0
call fcn.0056f200
add esp, 0x10
test al, al
lea eax, [ebp - 0x10]
je 0x406f4f
movsd xmm0, qword [ebp - 0x3c]
sub esp, 8
movsd qword [esp], xmm0
push str.balance:__lf
push eax
call fcn.005abfb0
add esp, 0x10
jmp 0x406f5d
push str.balance:__error_
push eax
call fcn.005abfb0
add esp, 8
mov esi, str.addbalance
test edi, edi
je 0x406f6b
mov ecx, dword [edi + 0xc]
jmp 0x406f70
mov ecx, 0x651f68
test edi, edi
je 0x406f79
mov eax, dword [edi + 4]
jmp 0x406f7b
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x406f9c
mov dl, byte [esi]
test dl, dl
je 0x4071f9
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x4071f9
cmp ecx, ebx
jb 0x406f82
jne 0x4071f9
cmp byte [esi], 0
jne 0x4071f9
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x23
call fcn.005a45d0
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 0x24
test eax, eax
je 0x406fea
push str.userid
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x18], eax
test eax, eax
je 0x406ff1
cmp dword [eax + 0xc], 0
jne 0x406ff1
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x18]
or ebx, 0xffffffff
test ecx, ecx
je 0x40701d
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40701d
push ecx
call fcn.005a47b0
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 0x25
call fcn.005a45d0
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x26
test eax, eax
je 0x40705c
push str.amount
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x18], eax
test eax, eax
je 0x407063
cmp dword [eax + 0xc], 0
jne 0x407063
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x40708c
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40708c
push ecx
call fcn.005a47b0
push ecx
lea eax, [ebp - 0x26]
mov dword [ebp - 0x14], 0xffffffff
push eax
xorps xmm1, xmm1
lea ecx, [ebp - 0x2c]
call fcn.005b8310
lea eax, [ebp - 0x14]
movsd qword [ebp - 0x3c], xmm0
xorps xmm0, xmm0
lea ecx, [ebp - 0x24]
push eax
movsd qword [ebp - 0x20], xmm0
call fcn.005b7be0
cmp eax, 1
jne 0x4071b2
cmp byte [ebp - 0x26], 0
je 0x4071b2
mov esi, dword [ebp - 0x14]
lea edx, [ebp - 0x20]
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.0056f200
add esp, 0x10
mov byte [ebp - 0x26], al
test al, al
je 0x4071b2
movsd xmm1, qword [ebp - 0x3c]
mov ecx, esi
call fcn.0056edf0
push 0
push 0
mov bl, al
lea edx, [ebp - 0x20]
push 0
push 0
mov ecx, esi
mov byte [ebp - 0x26], bl
call fcn.0056f200
add esp, 0x10
test al, al
jne 0x407126
movsd xmm0, qword [0x66fda0]
jmp 0x40712b
movsd xmm0, qword [ebp - 0x20]
movsd qword [ebp - 0x5c], xmm0
movsd xmm0, qword [ebp - 0x3c]
ucomisd xmm0, qword [0x66fd30]
lahf
test ah, 0x44
jnp 0x40716a
mov eax, dword [0x6aefbc]
push ecx
mov ecx, esp
test eax, eax
je 0x407154
lock inc dword [eax]
jmp 0x407156
xor eax, eax
mov dword [ecx], eax
mov ecx, 0x22
call fcn.004f95f0
movsd xmm0, qword [ebp - 0x3c]
add esp, 4
lea eax, [ebp - 0x10]
test bl, bl
je 0x407195
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x5c]
movsd qword [esp], xmm0
push esi
push str.addbalance:_ok__d__lf__lf
push eax
call fcn.005abfb0
add esp, 0x1c
jmp 0x4071c3
movsd xmm0, qword [ebp - 0x5c]
sub esp, 8
movsd qword [esp], xmm0
push str.addbalance:__error___lf
push eax
call fcn.005abfb0
add esp, 0x10
jmp 0x4071c3
lea eax, [ebp - 0x10]
push str.addbalance:__error_
push eax
call fcn.005abfb0
add esp, 8
mov ecx, dword [ebp - 0x2c]
or edx, 0xffffffff
test ecx, ecx
je 0x4071df
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x4071df
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4071f9
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x4071f9
push ecx
call fcn.005a47b0
mov esi, str.addsettimelimit
test edi, edi
je 0x407207
mov ecx, dword [edi + 0xc]
jmp 0x40720c
mov ecx, 0x651f68
test edi, edi
je 0x407215
mov eax, dword [edi + 4]
jmp 0x407217
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x40723a
nop
mov dl, byte [esi]
test dl, dl
je 0x407541
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x407541
cmp ecx, ebx
jb 0x407220
jne 0x407541
cmp byte [esi], 0
jne 0x407541
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 0x27
call fcn.005a45d0
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 0x28
test eax, eax
je 0x407288
push str.userid
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40728f
cmp dword [eax + 0xc], 0
jne 0x40728f
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x18]
or ebx, 0xffffffff
test ecx, ecx
je 0x4072bb
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4072bb
push ecx
call fcn.005a47b0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x29
call fcn.005a45d0
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x4072fa
push str.amount
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x18], eax
test eax, eax
je 0x407301
cmp dword [eax + 0xc], 0
jne 0x407301
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x40732a
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40732a
push ecx
call fcn.005a47b0
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 0x2b
call fcn.005a45d0
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x407369
push 0x65353c
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x18], eax
test eax, eax
je 0x407370
cmp dword [eax + 0xc], 0
jne 0x407370
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x407399
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407399
push ecx
call fcn.005a47b0
xor esi, esi
mov dword [ebp - 0x38], 0xffffffff
lea eax, [ebp - 0x38]
mov dword [ebp - 0x2c], 0
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
call fcn.005b7be0
cmp eax, 1
jne 0x4074e7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24]
call fcn.005b7be0
cmp eax, 1
je 0x4073f0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x34]
call fcn.005b7be0
cmp eax, 1
jne 0x4074e7
mov esi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
push 0
push eax
push 0
push 0
xor edx, edx
mov dword [ebp - 0x38], ebx
mov ecx, ebx
call fcn.0056f200
add esp, 0x10
test al, al
je 0x4074e7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24]
call fcn.005b7be0
cmp eax, 1
jne 0x40745c
mov ebx, dword [ebp - 0x2c]
mov edx, ebx
mov ecx, dword [ebp - 0x38]
push 0
call fcn.0056ef90
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov byte [ebp - 0x25], al
lea eax, [ebp - 0x18]
push 0
push eax
push 0
push 0
call fcn.0056f200
add esp, 0x14
test al, al
jne 0x407457
or esi, 0xffffffff
jmp 0x407492
mov esi, dword [ebp - 0x18]
jmp 0x407492
push 1
mov edx, esi
mov ecx, ebx
call fcn.0056ef90
mov byte [ebp - 0x25], al
xor edx, edx
push 0
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
push 0
push 0
call fcn.0056f200
mov esi, dword [ebp - 0x18]
add esp, 0x14
test al, al
mov eax, 0xffffffff
cmove esi, eax
mov ebx, esi
sub ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4074b8
mov eax, dword [0x6aefbc]
push ecx
mov ecx, esp
test eax, eax
je 0x4074a7
lock inc dword [eax]
jmp 0x4074a9
xor eax, eax
mov dword [ecx], eax
mov ecx, 0x22
call fcn.004f95f0
add esp, 4
cmp byte [ebp - 0x25], 0
lea eax, [ebp - 0x10]
je 0x4074d6
push ebx
push esi
push dword [ebp - 0x38]
push str.addsettimelimit:_ok__d__d__d
push eax
call fcn.005abfb0
add esp, 0x14
jmp 0x4074f8
push esi
push str.addsettimelimit:__error___d
push eax
call fcn.005abfb0
add esp, 0xc
jmp 0x4074f8
lea eax, [ebp - 0x10]
push str.addsettimelimit:__error_
push eax
call fcn.005abfb0
add esp, 8
mov ecx, dword [ebp - 0x34]
or ebx, 0xffffffff
test ecx, ecx
je 0x407511
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407511
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x407527
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407527
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x407541
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407541
push ecx
call fcn.005a47b0
mov esi, str.IpListAdd
test edi, edi
je 0x40754f
mov ecx, dword [edi + 0xc]
jmp 0x407554
mov ecx, 0x651f68
test edi, edi
je 0x40755d
mov eax, dword [edi + 4]
jmp 0x40755f
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x407580
mov dl, byte [esi]
test dl, dl
je 0x407887
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x407887
cmp ecx, ebx
jb 0x407566
jne 0x407887
cmp byte [esi], 0
jne 0x407887
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 0x2f
call fcn.005a45d0
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 0x30
test eax, eax
je 0x4075c9
push 0x6535a4
mov ecx, eax
call fcn.005a5480
jmp 0x4075cb
xor eax, eax
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4075eb
cmp dword [eax + 0xc], 0
jne 0x4075eb
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x14]
or ebx, 0xffffffff
test ecx, ecx
je 0x407617
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407617
push ecx
call fcn.005a47b0
call fcn.005a45d0
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 0x31
test eax, eax
je 0x407638
push 0x6535a8
mov ecx, eax
call fcn.005a5480
jmp 0x40763a
xor eax, eax
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40765a
cmp dword [eax + 0xc], 0
jne 0x40765a
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x407683
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407683
push ecx
call fcn.005a47b0
call fcn.005a45d0
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x4076a4
push 0x6535ac
mov ecx, eax
call fcn.005a5480
jmp 0x4076a6
xor eax, eax
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4076c6
cmp dword [eax + 0xc], 0
jne 0x4076c6
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4076ef
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4076ef
push ecx
call fcn.005a47b0
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
call fcn.005b7c90
push ecx
mov esi, eax
lea ecx, [ebp - 0x34]
push 0x384
mov dword [ebp - 0x38], esi
call fcn.005b7c90
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x40773d
cmp ebx, 0xffffffff
je 0x40773d
call dword [ebp - 0xb0]
imul ecx, ebx, 0x3e8
lea ebx, [eax + ecx]
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x407736
cmp ebx, 0xffffffff
jne 0x40773d
mov dword [ebp - 0x24], 1
cmp esi, 0x13
mov esi, dword [ebp - 0x1c]
ja 0x40798b
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movlpd qword [ebp + 0x10], xmm0
movlpd qword [ebp + 0x18], xmm0
call fcn.005a45d0
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x33
test eax, eax
je 0x40777e
push 0x6535b0
mov ecx, eax
call fcn.005a5480
jmp 0x407780
xor eax, eax
mov byte [ebp - 4], 0x2f
test eax, eax
je 0x40779e
cmp dword [eax + 0xc], 0
je 0x407796
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x4077a8
push ecx
mov ecx, eax
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
or ebx, 0xffffffff
test ecx, ecx
je 0x4077be
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4077be
push ecx
call fcn.005a47b0
test esi, esi
je 0x4077c7
mov ecx, dword [esi + 0xc]
jmp 0x4077cc
mov ecx, 0x651f68
lea edx, [ebp - 0x14]
call fcn.005d2570
test eax, eax
jne 0x40789c
mov byte [ebp - 4], 0x2f
mov ebx, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [ebx]
call dword [ebp - 0x48]
cmp eax, 0x80
jne 0x4077fd
mov dword [ebx + 8], 0
jmp 0x407801
test eax, eax
jne 0x40780a
inc dword [ebx + 0xc]
inc dword [ebx + 8]
inc dword [ebx + 4]
imul ecx, dword [ebp - 0x38], 0x25
add ecx, 0x6ae220
cmp dword [ebp - 0x24], 0
jne 0x407825
lea eax, [ebp - 0x14]
push eax
call fcn.00408250
jmp 0x407834
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00408970
mov ecx, dword [0x6ac16c]
call fcn.005e0810
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x407858
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407858
push ecx
call fcn.005a47b0
test esi, esi
je 0x40786d
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x40786d
push ecx
mov ecx, esi
call fcn.005a47b0
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x407887
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407887
push ecx
call fcn.005a47b0
mov esi, str.IpListAddEx
test edi, edi
je 0x407a12
mov ecx, dword [edi + 0xc]
jmp 0x407a17
test esi, esi
je 0x4078a5
mov edx, dword [esi + 4]
jmp 0x4078a7
xor edx, edx
test esi, esi
je 0x4078b0
mov ecx, dword [esi + 0xc]
jmp 0x4078b5
mov ecx, 0x651f68
push ecx
lea eax, [ebp + 0x10]
push 0x651eaf
push eax
call fcn.005d2060
add esp, 0xc
test eax, eax
js 0x407928
mov byte [ebp - 4], 0x2f
mov ebx, dword [0x6ac16c]
push 0xffffffffffffffff
push dword [ebx]
call dword [ebp - 0x48]
cmp eax, 0x80
jne 0x4078ec
mov dword [ebx + 8], 0
jmp 0x4078f0
test eax, eax
jne 0x4078f9
inc dword [ebx + 0xc]
inc dword [ebx + 8]
inc dword [ebx + 4]
imul ecx, dword [ebp - 0x38], 0x25
add ecx, 0x6ae510
cmp dword [ebp - 0x24], 0
jne 0x407914
lea eax, [ebp + 0x10]
push eax
call fcn.004080e0
jmp 0x407923
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.00408660
jmp 0x407834
call fcn.005a45d0
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x40797f
push str.bad_ip
mov ecx, eax
call fcn.005a5480
test eax, eax
je 0x40797f
cmp dword [eax + 0xc], 0
je 0x407977
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x40783f
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40783f
push ecx
call fcn.005a47b0
jmp 0x40783f
push ecx
mov ecx, eax
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
jmp 0x407957
call fcn.005a45d0
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x39
test eax, eax
je 0x4079e5
push str.bad_n
mov ecx, eax
call fcn.005a5480
test eax, eax
je 0x4079e5
cmp dword [eax + 0xc], 0
je 0x4079dd
mov ecx, dword [ebp - 0x10]
or ebx, 0xffffffff
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x407842
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407842
push ecx
call fcn.005a47b0
jmp 0x407842
push ecx
mov ecx, eax
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
or ebx, 0xffffffff
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x407842
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407842
push ecx
call fcn.005a47b0
jmp 0x407842
mov ecx, 0x651f68
test edi, edi
je 0x407a20
mov eax, dword [edi + 4]
jmp 0x407a22
xor eax, eax
lea ebx, [eax + ecx]
cmp ecx, ebx
jae 0x407a4a
nop dword [eax]
mov dl, byte [esi]
test dl, dl
je 0x407ca1
mov al, byte [ecx]
inc esi
inc ecx
cmp al, dl
jne 0x407ca1
cmp ecx, ebx
jb 0x407a30
jne 0x407ca1
cmp byte [esi], 0
jne 0x407ca1
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x3b
call fcn.005a45d0
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 0x3c
test eax, eax
je 0x407a8c
push 0x6535a4
mov ecx, eax
call fcn.005a5480
jmp 0x407a8e
xor eax, eax
mov byte [ebp - 4], 0x3b
mov dword [ebp - 0x14], eax
test eax, eax
je 0x407aae
cmp dword [eax + 0xc], 0
jne 0x407aae
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x14]
or ebx, 0xffffffff
test ecx, ecx
je 0x407ada
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407ada
push ecx
call fcn.005a47b0
call fcn.005a45d0
mov dword [ebp - 0x140], eax
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x407afb
push 0x6535a8
mov ecx, eax
call fcn.005a5480
jmp 0x407afd
xor eax, eax
mov byte [ebp - 4], 0x3b
mov dword [ebp - 0x14], eax
test eax, eax
je 0x407b1d
cmp dword [eax + 0xc], 0
jne 0x407b1d
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004083a0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x407b46
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407b46
push ecx
call fcn.005a47b0
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.005b7c90
mov esi, dword [ebp - 0x1c]
mov ebx, eax
cmp ebx, 0x13
ja 0x407cc2
mov dword [ebp - 0x38], 0
xorps xmm0, xmm0
movlpd qword [ebp], xmm0
movlpd qword [ebp + 8], xmm0
test esi, esi
je 0x407b7c
mov ecx, dword [esi + 0xc]
jmp 0x407b81
mov ecx, 0x651f68
lea edx, [ebp - 0x38]
call fcn.005d2570
test eax, eax
jne 0x407bbb
mov edx, dword [ebp - 0x38]
push ecx
mov ecx, ebx
call fcn.005743d0
add esp, 4
mov ebx, 0x6535b0
test al, al
mov eax, str.delayed
cmove ebx, eax
call fcn.005a45d0
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 0x3e
jmp 0x407c16
test esi, esi
je 0x407bc4
mov edx, dword [esi + 4]
jmp 0x407bc6
xor edx, edx
test esi, esi
je 0x407bcf
mov ecx, dword [esi + 0xc]
jmp 0x407bd4
mov ecx, 0x651f68
push ecx
lea eax, [ebp]
push 0x651eaf
push eax
call fcn.005d2060
add esp, 0xc
test eax, eax
js 0x407c1d
push ecx
lea edx, [ebp]
mov ecx, ebx
call fcn.00574670
add esp, 4
mov ebx, 0x6535b0
test al, al
mov eax, str.delayed
cmove ebx, eax
call fcn.005a45d0
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0x3f
test eax, eax
je 0x407c52
push ebx
jmp 0x407c35
call fcn.005a45d0
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 0x40
test eax, eax
je 0x407c52
push str.bad_ip
mov ecx, eax
call fcn.005a5480
test eax, eax
je 0x407c52
cmp dword [eax + 0xc], 0
jne 0x407cf7
push ecx
mov ecx, eax
call fcn.005a47b0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
or ebx, 0xffffffff
test ecx, ecx
je 0x407c72
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407c72
push ecx
call fcn.005a47b0
test esi, esi
je 0x407c87
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x407c87
push ecx
mov ecx, esi
call fcn.005a47b0
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x407ca1
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407ca1
push ecx
call fcn.005a47b0
cmp dword [ebp - 0x10], 0
jne 0x407d02
lea eax, [ebp - 0x10]
push str.badcommand
push eax
call fcn.005abfb0
add esp, 8
cmp dword [ebp - 0x10], 0
jne 0x407d02
xor edx, edx
jmp 0x407d08
call fcn.005a45d0
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x41
test eax, eax
je 0x407c52
push str.bad_n
mov ecx, eax
call fcn.005a5480
test eax, eax
je 0x407c52
cmp dword [eax + 0xc], 0
je 0x407c4a
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x407c5c
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x407d14
mov ecx, dword [eax + 0xc]
jmp 0x407d19
mov ecx, 0x651f68
push dword [ebp - 0xf4]
call fcn.00600d00
mov byte [ebp - 4], 0x16
add esp, 4
mov ecx, dword [ebp - 0x4c]
or ebx, 0xffffffff
test ecx, ecx
je 0x407d44
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407d44
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x100]
call fcn.00601d80
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x407d68
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407d68
push ecx
call fcn.005a47b0
test edi, edi
je 0x407d7d
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x407d7d
push ecx
mov ecx, edi
call fcn.005a47b0
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x407d95
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
jne 0x407d95
push ecx
mov ecx, eax
call fcn.005a47b0
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x407dab
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407dab
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x407dc1
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407dc1
push ecx
call fcn.005a47b0
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], vtable.CMaaUnivHash_New_class_CMaaString__class_CMaaString__1_.0
call fcn.00409b50
lea ecx, [ebp - 0x8c]
call fcn.0040a090
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x406170
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x406170
push ecx
mov ecx, esi
call fcn.005a47b0
jmp 0x406170
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x407e63
mov edx, dword [ebp - 0x1c]
test edx, edx
jne 0x407e58
mov eax, dword [ebp + 0x20]
cmp eax, dword [0x6af130]
jne 0x407e4b
mov eax, dword [ebp + 0x24]
cmp eax, dword [0x6af134]
jne 0x407e4b
mov eax, dword [ebp + 0x28]
cmp eax, dword [0x6af138]
jne 0x407e4b
mov eax, dword [ebp + 0x2c]
cmp eax, dword [0x6af13c]
je 0x407e63
push ecx
lea edx, [ebp + 0x20]
xor ecx, ecx
call fcn.00574670
jmp 0x407e60
push ecx
xor ecx, ecx
call fcn.005743d0
add esp, 4
push dword [ebp - 0xf4]
mov edx, 0x1a
mov ecx, str.Content_type:_text_plain_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 0x19
mov ecx, str.Cache_control:_no_cache_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 0x13
mov ecx, str.Connection:_close_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 2
mov ecx, 0x653350
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 7
mov ecx, str.error_r_n
call fcn.00600d00
push dword [ebp - 0xf4]
mov edx, 2
mov ecx, 0x653350
call fcn.00600d00
mov ebx, dword [ebp - 0xec]
add esp, 0x18
test ebx, ebx
je 0x407f1b
cmp dword [ebx], 0
je 0x407f1b
mov eax, dword [ebx]
push 0xb
push eax
push str.REQUEST_URI
call fcn.00614950
add esp, 0xc
test eax, eax
jne 0x407f11
mov eax, dword [ebx]
cmp byte [eax + 0xb], 0x3d
je 0x407f72
mov eax, dword [ebx + 4]
add ebx, 4
test eax, eax
jne 0x407ef5
xor eax, eax
test eax, eax
mov ebx, str.api.cgi
cmovne ebx, eax
call fcn.005a45d0
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x407f61
push ebx
mov ecx, eax
call fcn.005a5480
mov dword [ebp - 0x44], eax
mov ecx, eax
mov dword [ebp - 0x14], eax
mov edx, eax
mov ebx, eax
test eax, eax
je 0x407f77
cmp dword [eax + 0xc], 0
mov dword [ebp - 0x14], eax
jne 0x407f77
push ecx
call fcn.005a47b0
xor ecx, ecx
mov dword [ebp - 0x44], 0
xor edx, edx
xor ebx, ebx
xor eax, eax
jmp 0x407f7a
add eax, 0xc
jmp 0x407f1d
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1a
test ecx, ecx
je 0x407f87
mov edx, dword [edx + 0xc]
jmp 0x407f8c
mov edx, 0x651f68
test ebx, ebx
je 0x407f95
mov eax, dword [eax + 4]
jmp 0x407f97
xor eax, eax
lea ecx, [eax + edx]
mov eax, edx
cmp edx, ecx
jae 0x407ffe
cmp byte [eax], 0x3f
je 0x407fac
inc eax
cmp eax, ecx
jb 0x407fa0
jmp 0x407ffe
sub eax, edx
js 0x407ffe
push eax
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x44]
call fcn.005ac5a0
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax]
cmp ecx, edx
je 0x407fe5
mov dword [ebp - 0x44], edx
or edx, 0xffffffff
mov dword [eax], 0
test ecx, ecx
je 0x407fe8
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x407fe8
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x407ffe
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x407ffe
push ecx
call fcn.005a47b0
mov dword [ebp - 0x50], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1b
push eax
push str._1_api_key...cmd
lea eax, [ebp - 0x50]
push 0x653384
push eax
call fcn.005ac040
lea eax, [ebp - 0x50]
push eax
push str._1userid_r_n_1username_r_n_1usernameuseridN_r_n_1getbalance_r_n_1addbalanceuseridNamount0.00_r_n_1addsettimelimituseridNamount60_r_n_1addsettimelimituseridNset120_r_n_1IpListAddnNipIPto_10S_r_n_1IpListAddExnNipIP_r_n
push 0x653384
push eax
call fcn.005ac040
mov eax, dword [ebp - 0x50]
add esp, 0x20
test eax, eax
je 0x408043
mov edx, dword [eax + 4]
jmp 0x408045
xor edx, edx
test eax, eax
je 0x40804e
mov ecx, dword [eax + 0xc]
jmp 0x408053
mov ecx, 0x651f68
push dword [ebp - 0xf4]
call fcn.00600d00
mov ecx, dword [ebp - 0x50]
add esp, 4
or ebx, 0xffffffff
test ecx, ecx
je 0x40807a
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x40807a
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x407d47
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x407d47
push ecx
call fcn.005a47b0
jmp 0x407d47
push str.Can_not_accept_new_request_n
push 0x6a6e70
call fcn.0042abc0
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 + 0x10030]
xor ecx, ebp
call fcn.00606a47
lea esp, [ebp + 0x10034]
pop ebp
ret