Function at 0x4429c0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x44a378
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45c020]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
lea eax, [esp + 0x14]
push eax
mov ecx, str.prtsc
call fcn.0040c420
xor esi, esi
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0040d7b0
add eax, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], esi
lea edi, [eax - 0x10]
mov eax, edi
mov byte [esp + 0x44], 1
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov byte [esp + 0x44], 2
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x30]
add esi, 8
push edx
mov ebx, esi
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ebx, ebx
mov byte [esp + 0x44], bl
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a8a
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ab2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.square
call fcn.0040c420
mov dword [esp + 0x44], 3
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 4
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 5
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 3
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b4f
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.round
call fcn.0040c420
mov dword [esp + 0x44], 6
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 7
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 8
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442bf8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 6
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c16
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.arrow
call fcn.0040c420
mov dword [esp + 0x44], 9
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0xa
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0xb
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442cbf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 9
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442cdd
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442d05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.brush
call fcn.0040c420
mov dword [esp + 0x44], 0xc
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0xd
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0xe
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442d86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0xc
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442da4
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442dcc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.wording
call fcn.0040c420
mov dword [esp + 0x44], 0xf
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x10
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x11
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0xf
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e6b
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442e93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.mosaic
call fcn.0040c420
mov dword [esp + 0x44], 0x12
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x13
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x14
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x12
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f32
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442f5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.recover
call fcn.0040c420
mov dword [esp + 0x44], 0x15
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x16
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x17
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442fdb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x15
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442ff9
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443021
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.save
call fcn.0040c420
mov dword [esp + 0x44], 0x18
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x19
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x1a
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x19
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4430a2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x18
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4430c0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4430e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.send
call fcn.0040c420
mov dword [esp + 0x44], 0x1b
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x1c
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x1d
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x1c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443169
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x1b
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443187
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4431af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.send_draw
call fcn.0040c420
mov dword [esp + 0x44], 0x1e
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x1f
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x20
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x1f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443230
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x1e
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44324e
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443276
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.send_qq
call fcn.0040c420
mov dword [esp + 0x44], 0x21
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x22
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x23
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x22
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4432f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x21
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443315
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44333d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.send_weibo
call fcn.0040c420
mov dword [esp + 0x44], 0x24
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x25
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x26
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4433be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x24
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4433dc
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443404
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.send_qzone
call fcn.0040c420
mov dword [esp + 0x44], 0x27
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x28
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x29
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x28
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443485
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x27
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4434a3
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4434cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, 0x44fc08
call fcn.0040c420
mov dword [esp + 0x44], 0x2a
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x2b
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x2c
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x2b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44354c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x2a
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44356a
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443592
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.cancel
call fcn.0040c420
mov dword [esp + 0x44], 0x2d
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x2e
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x2f
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x2e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443613
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x2d
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443631
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443659
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.done
call fcn.0040c420
mov dword [esp + 0x44], 0x30
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x31
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x32
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x31
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4436da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x30
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4436f8
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443720
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.setup_
call fcn.0040c420
mov dword [esp + 0x44], 0x33
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x34
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x35
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x34
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4437a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x33
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4437bf
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4437e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, 0x45197c
call fcn.0040c420
mov dword [esp + 0x44], 0x36
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
mov ebx, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x37
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x38
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x37
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44386b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x36
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443889
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4438b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, 0x44f858
call fcn.0040c420
mov dword [esp + 0x44], 0x39
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x3a
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x3b
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x3a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443932
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x39
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443950
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443978
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.rclick
call fcn.0040c420
mov dword [esp + 0x44], 0x3c
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x3d
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x3e
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x3d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4439f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x3c
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443a17
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443a3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, str.save2
call fcn.0040c420
mov dword [esp + 0x44], 0x3f
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.0040d7b0
lea edi, [eax + 0x10]
xor ebx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
add edi, 0xfffffff0
mov eax, edi
mov byte [esp + 0x44], 0x40
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x41
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x40
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443ac0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x3f
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443ade
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x44fad0
call fcn.0040c420
mov dword [esp + 0x44], 0x42
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.0040d7b0
add eax, 0x10
xor ebx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
lea edi, [eax - 0x10]
mov eax, edi
mov byte [esp + 0x44], 0x43
call fcn.0040d7b0
lea ebp, [eax + 0x10]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
mov byte [esp + 0x4c], 0x44
call fcn.00444210
lea eax, [ebp - 0x10]
mov byte [esp + 0x44], 0x43
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x44], 0x42
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443ba5
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443bcd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 4