Function at 0x40d390
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x451dd4
mov eax, dword fs:[0]
push eax
sub esp, 0x3a0
mov eax, dword [0x4642d8]
xor eax, esp
mov dword [esp + 0x398], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4642d8]
xor eax, esp
push eax
lea eax, [esp + 0x3b4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3c4]
xor ebp, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebp
cmp dword [eax + 0xc4], ebp
jne 0x40d412
mov al, 1
mov ecx, dword [esp + 0x3b4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x398]
xor ecx, esp
call fcn.00432079
add esp, 0x3ac
ret 4
xor ebp, ebp
mov esi, dword [esp + 0x24]
lea eax, [esi + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xc0]
mov ebx, dword [eax]
mov eax, dword [esi + 0xac]
lea ecx, [esi + 0xac]
cmp eax, ebp
jne 0x40d472
call fcn.004325db
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x40d449
call fcn.004325db
mov esi, dword [ebx + 8]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub esi, 0x10
call edx
cmp dword [esi + 0xc], ebp
lea ecx, [esi + 0xc]
jl 0x40d476
cmp eax, dword [esi]
jne 0x40d476
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x40d4b1
mov eax, dword [eax]
jmp 0x40d43f
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
cmp edi, ebp
je 0x40e6a0
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.00432217
add esp, 0x10
add edi, 0x10
mov dword [esp + 0x4c], edi
lea edx, [esp + 0x50]
lea ecx, [ebx + 0xc]
push edx
mov dword [esp + 0x3c0], ebp
call fcn.00405ae0
mov eax, dword [esp + 0x24]
add eax, 0xac
mov dword [esp + 0x3bc], 1
mov esi, dword [eax]
mov edi, dword [eax + 0x14]
cmp esi, ebp
jne 0x40d4ee
call fcn.004325db
mov edi, dword [edi + 4]
cmp esi, ebp
je 0x40d4f9
mov eax, dword [esi]
jmp 0x40d4fb
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40d505
call fcn.004325db
push edi
push esi
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x198]
push eax
lea edi, [esi + 0xac]
call fcn.00410150
lea eax, [esi + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x68], ebp
je 0x40d772
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x64]
cmp edi, ebp
jne 0x40d543
call fcn.004325db
mov esi, dword [esi + 4]
cmp edi, ebp
je 0x40d54e
mov eax, dword [edi]
jmp 0x40d550
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x40d55a
call fcn.004325db
cmp edi, ebp
jne 0x40d7de
call fcn.004325db
xor edi, edi
cmp esi, dword [edi + 0x14]
jne 0x40d573
call fcn.004325db
mov eax, dword [esi + 8]
sub eax, 0x10
call fcn.00404120
lea esi, [eax + 0x10]
mov dword [esp + 0x2c], esi
mov byte [esp + 0x3bc], 2
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
call fcn.00404120
add eax, 0x10
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0xb0]
push ecx
mov ecx, esi
mov byte [esp + 0x3c0], 3
call fcn.00405650
mov byte [esp + 0x3bc], 4
mov eax, dword [eax]
lea edx, [esp + 0x22c]
push edx
mov ecx, eax
call fcn.004282e0
mov byte [esp + 0x3bc], 6
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d5fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x1d0]
lea ecx, [esp + 0x22c]
call fcn.00428520
mov byte [esp + 0x3bc], 7
push ebp
mov ebx, 0xf
push 0x456139
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1b4], ebp
mov byte [esp + 0x1a4], 0
call fcn.00402320
lea ecx, [esp + 0x18]
push ecx
sub esp, 0x1c
mov byte [esp + 0x3dc], 8
mov ecx, esp
mov dword [esp + 0x48], esp
push 0xffffffffffffffff
push ebp
mov edx, esi
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], ebp
push edx
mov dword [esp + 0x44], ebp
lea edi, [esp + 0x1c4]
mov byte [ecx + 4], 0
call fcn.00402140
call fcn.00415060
mov edx, dword [esp + 0x38]
mov eax, edx
movzx ecx, dl
shr eax, 8
add esp, 0x20
and eax, 0xff
cmp ecx, 0xa
je 0x40d6b3
cmp ecx, 0x7f
je 0x40d6b3
cmp ecx, 0xac
jne 0x40d7e5
add eax, 0xfffffff0
cmp eax, ebx
ja 0x40d80c
mov esi, 0x10
cmp dword [esp + 0x1b0], esi
jb 0x40d6d1
mov ecx, dword [esp + 0x19c]
push ecx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1ac], ebp
mov byte [esp + 0x19c], 0
cmp dword [esp + 0x1e8], esi
jb 0x40d700
mov edx, dword [esp + 0x1d4]
push edx
call fcn.0043206e
add esp, 4
lea esi, [esp + 0x22c]
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1e4], ebp
mov byte [esp + 0x1d4], 0
call fcn.00428360
mov byte [esp + 0x3bc], 2
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 0x40d74a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 1
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d772
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [esp + 0x50]
mov dword [esp + 0x3bc], 0xffffffff
call fcn.00405bc0
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0043206e
mov edx, dword [esp + 0x54]
add esp, 4
push edx
mov dword [esp + 0x68], 0
call fcn.0043206e
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
add esp, 4
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d7c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0xc4], 0
jne 0x40d410
jmp 0x40d3e4
mov edi, dword [edi]
jmp 0x40d569
cmp ecx, 0xc0
jne 0x40d7f9
cmp eax, 0xa8
jne 0x40d80c
jmp 0x40d6b3
cmp ecx, 0xa9
jne 0x40d80c
cmp eax, 0xfe
je 0x40d6b3
cmp edx, ebp
je 0x40d6b3
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xc0]
push eax
call fcn.00405650
mov byte [esp + 0x3bc], 9
mov esi, dword [eax]
sub esp, 0x1c
mov ecx, esp
mov eax, esi
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], ebp
mov dword [esp + 0x44], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d847
sub eax, edi
push eax
push esi
call fcn.00402320
mov byte [esp + 0x3d8], 0xa
call fcn.00405c60
push eax
mov byte [esp + 0x3dc], 9
call fcn.0041b5d0
mov byte [esp + 0x17], al
mov byte [esp + 0x3bc], 8
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d8a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x17], 0
je 0x40e5c8
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00405650
mov byte [esp + 0x3bc], 0xb
mov eax, dword [eax]
lea edx, [esp + 0x2ac]
push edx
mov ecx, eax
call fcn.004282e0
mov byte [esp + 0x3bc], 0xd
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d901
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 7
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], ebp
push str.partner
mov byte [ecx + 4], 0
call fcn.00402320
lea ecx, [esp + 0x2c8]
push ecx
lea ecx, [esp + 0x20c]
call fcn.004288d0
mov byte [esp + 0x3bc], 0xe
cmp dword [esp + 0x200], ebp
je 0x40d967
lea edi, [esp + 0xe0]
lea ecx, [esp + 0x22c]
call fcn.00428740
or dword [esp + 0x20], 1
mov byte [esp + 0x17], 0
cmp dword [eax + 0x14], ebp
jne 0x40d96c
mov byte [esp + 0x17], 1
test byte [esp + 0x20], 1
mov esi, 0x10
je 0x40d996
and dword [esp + 0x20], 0xfffffffe
cmp dword [esp + 0xf8], esi
jb 0x40d996
mov edx, dword [esp + 0xe4]
push edx
call fcn.0043206e
add esp, 4
cmp byte [esp + 0x17], 0
je 0x40d9dd
cmp dword [esp + 0x204], esi
jb 0x40d9b6
mov eax, dword [esp + 0x1f0]
push eax
call fcn.0043206e
add esp, 4
lea esi, [esp + 0x2ac]
mov dword [esp + 0x204], ebx
mov dword [esp + 0x200], ebp
mov byte [esp + 0x1f0], 0
call fcn.00428360
jmp 0x40e5c8
push 0x456139
lea ecx, [esp + 0xe4]
call fcn.00401e10
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0xc8]
push edx
mov byte [esp + 0x3c4], bl
call fcn.00410010
mov byte [esp + 0x3bc], 0x11
cmp dword [esp + 0xf8], esi
jb 0x40da2b
mov eax, dword [esp + 0xe4]
push eax
call fcn.0043206e
add esp, 4
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov dword [esp + 0xf4], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe4], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
mov esi, dword [ecx]
test edi, edi
je 0x40da77
cmp edi, dword [esp + 0x50]
je 0x40da7c
call fcn.004325db
mov ebx, dword [esp + 0x34]
cmp ebx, esi
je 0x40dc38
mov edx, dword [esp + 0xd8]
mov esi, dword [edx]
test ebp, ebp
je 0x40da9e
cmp ebp, dword [esp + 0xc4]
je 0x40daa3
call fcn.004325db
cmp dword [esp + 0x3c], esi
je 0x40dc38
mov dword [esp + 0x70], ebx
test edi, edi
jne 0x40daba
call fcn.004325db
mov esi, dword [ebx + 4]
test edi, edi
je 0x40dac5
mov eax, dword [edi]
jmp 0x40dac7
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x40dad1
call fcn.004325db
test edi, edi
jne 0x40db78
call fcn.004325db
cmp esi, dword [edi + 0x14]
jne 0x40dae8
call fcn.004325db
mov ecx, dword [esi + 8]
lea eax, [esp + 0x90]
push eax
call fcn.00405650
mov byte [esp + 0x3bc], 0x12
mov eax, dword [eax]
lea ecx, [esp + 0x32c]
push ecx
mov ecx, eax
call fcn.004282e0
mov byte [esp + 0x3bc], 0x14
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40db3c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x74]
lea ecx, [esp + 0x32c]
call fcn.00428740
mov ebx, eax
mov byte [esp + 0x3bc], 0x15
mov ecx, dword [esp + 0x3c]
mov esi, ebp
mov dword [esp + 0x70], ecx
test ebp, ebp
jne 0x40db69
call fcn.004325db
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + 4]
test esi, esi
je 0x40db7f
mov eax, dword [esi]
jmp 0x40db81
mov edi, dword [edi]
jmp 0x40dade
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40db8b
call fcn.004325db
test esi, esi
jne 0x40dbdf
call fcn.004325db
cmp edi, dword [esi + 0x14]
jne 0x40db9e
call fcn.004325db
push 0xffffffffffffffff
push 0
lea ecx, [edi + 8]
push ebx
call fcn.00402140
cmp dword [esp + 0x8c], 0x10
jb 0x40dbc2
mov eax, dword [esp + 0x78]
push eax
call fcn.0043206e
add esp, 4
test ebp, ebp
jne 0x40dbcb
call fcn.004325db
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
test ebp, ebp
je 0x40dbe3
mov eax, dword [ebp]
jmp 0x40dbe5
mov esi, dword [esi]
jmp 0x40db94
xor eax, eax
cmp ecx, dword [eax + 0x14]
jne 0x40dbef
call fcn.004325db
lea esi, [esp + 0x32c]
mov byte [esp + 0x3bc], 0x11
call fcn.00428360
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x40dc10
call fcn.004325db
mov edx, dword [esp + 0x34]
mov ecx, dword [edx + 4]
mov dword [esp + 0x34], ecx
test esi, esi
je 0x40dc23
mov eax, dword [esi]
jmp 0x40dc25
xor eax, eax
cmp ecx, dword [eax + 0x14]
jne 0x40da63
call fcn.004325db
jmp 0x40da63
mov eax, dword [esp + 0xd8]
mov edi, dword [eax]
mov esi, dword [esp + 0xc4]
lea ecx, [esp + 0x208]
call fcn.0042b556
push 0
lea ecx, [esp + 0x100]
mov byte [esp + 0x3c0], 0x16
call fcn.0042e52d
push 0
lea ecx, [esp + 0x98]
mov byte [esp + 0x3c0], 0x17
call fcn.0042e52d
mov bl, 0x18
mov byte [esp + 0x3bc], bl
test esi, esi
jne 0x40e2b6
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40dca2
call fcn.004325db
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x170]
call fcn.0042d7fb
lea ecx, [esp + 0x16c]
push ecx
push str.url1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x3c4], 0x19
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x16c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
test esi, esi
jne 0x40e2bd
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40dd06
call fcn.004325db
mov edi, dword [edi]
test esi, esi
jne 0x40e2c4
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40dd21
call fcn.004325db
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x130]
call fcn.0042d7fb
lea edx, [esp + 0x12c]
push edx
push str.url2
lea ecx, [esp + 0x9c]
mov byte [esp + 0x3c4], 0x1a
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x12c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
test esi, esi
jne 0x40e2cb
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40dd85
call fcn.004325db
mov edi, dword [edi]
test esi, esi
jne 0x40e2d2
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40dda0
call fcn.004325db
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x160]
call fcn.0042d7fb
lea eax, [esp + 0x15c]
push eax
push str.url3
lea ecx, [esp + 0x9c]
mov byte [esp + 0x3c4], 0x1b
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x15c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
test esi, esi
jne 0x40e2d9
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40de04
call fcn.004325db
mov edi, dword [edi]
test esi, esi
jne 0x40e2e0
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40de1f
call fcn.004325db
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x180]
call fcn.0042d7fb
lea ecx, [esp + 0x17c]
push ecx
push str.url4
lea ecx, [esp + 0x9c]
mov byte [esp + 0x3c4], 0x1c
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x17c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
test esi, esi
jne 0x40e2e7
call fcn.004325db
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40de83
call fcn.004325db
mov edi, dword [edi]
test esi, esi
jne 0x40e2ee
call fcn.004325db
cmp edi, dword [esi + 0x14]
jne 0x40de9c
call fcn.004325db
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x150]
call fcn.0042d7fb
lea edx, [esp + 0x14c]
push edx
push str.url5
lea ecx, [esp + 0x9c]
mov byte [esp + 0x3c4], 0x1d
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x14c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
lea eax, [esp + 0x94]
push eax
push 0x456698
lea ecx, [esp + 0x104]
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x140]
call fcn.0042d7fb
lea edx, [esp + 0x13c]
push edx
push str.partnerId
lea ecx, [esp + 0x104]
mov byte [esp + 0x3c4], 0x1e
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x13c]
mov byte [esp + 0x3bc], bl
call fcn.0042e630
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x1b8]
push ecx
lea ecx, [esp + 0x210]
call fcn.0042d1d3
mov bl, 0x1f
mov byte [esp + 0x3bc], bl
mov eax, dword [esp + 0x1b8]
mov ebp, 0x10
cmp dword [esp + 0x1cc], ebp
jae 0x40df97
lea eax, [esp + 0x1b8]
mov edi, dword [esp + 0x1c8]
push eax
lea esi, [esp + 0x78]
call fcn.004126b0
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x3c8], 0x20
call fcn.00402140
mov byte [esp + 0x3bc], bl
cmp dword [esp + 0x8c], ebp
jb 0x40dfe1
mov edx, dword [esp + 0x78]
push edx
call fcn.0043206e
add esp, 4
mov eax, dword [0x466ddc]
mov edx, dword [eax + 0xc]
mov ecx, 0x466ddc
call edx
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x3bc], 0x21
mov ecx, dword [esp + 0x1b8]
cmp dword [esp + 0x1cc], ebp
jae 0x40e016
lea ecx, [esp + 0x1b8]
lea eax, [esp + 0xb8]
push eax
call fcn.00405790
mov esi, eax
lea ecx, [esp + 0xac]
push ecx
mov bl, 0x22
mov ecx, str.apiAbuseMult
mov byte [esp + 0x3c0], bl
call fcn.004056e0
mov byte [esp + 0x3bc], 0x23
mov edx, dword [esi]
mov eax, dword [eax]
push edx
push eax
push str.serviceId_sdata_s
lea edi, [esp + 0x24]
call fcn.004109e0
mov byte [esp + 0x3c8], bl
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e089
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 0x21
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e0b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ecx
mov ecx, 0x4566f0
call fcn.004056e0
mov byte [esp + 0x3c0], 0x24
mov eax, dword [esp + 0x1c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x74], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x3c4], 0x21
call fcn.00414cd0
lea edx, [esp + 0x7c]
push edx
lea edi, [esp + 0x1c0]
mov byte [esp + 0x3c8], 0x25
call fcn.00415200
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
mov byte [esp + 0x3c8], 0x26
call fcn.00402140
mov byte [esp + 0x3bc], 0x25
cmp dword [esp + 0x8c], ebp
jb 0x40e145
mov eax, dword [esp + 0x78]
push eax
call fcn.0043206e
add esp, 4
mov ecx, dword [esp + 0x1b8]
cmp dword [esp + 0x1cc], ebp
jae 0x40e15c
lea ecx, [esp + 0x1b8]
lea edx, [esp + 0xa4]
push edx
call fcn.00405790
mov esi, eax
lea eax, [esp + 0xbc]
mov bl, 0x27
push eax
mov ecx, str.apiAbuseMult
mov byte [esp + 0x3c0], bl
call fcn.004056e0
mov byte [esp + 0x3bc], 0x28
mov ecx, dword [esi]
mov edx, dword [eax]
push ecx
push edx
push str.serviceId_sdata_s
lea edi, [esp + 0x24]
call fcn.004109e0
mov byte [esp + 0x3c8], bl
mov eax, dword [esp + 0xc8]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e1cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 0x25
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e1fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0xac]
push edx
mov ebx, str.sign
call fcn.00403a90
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x50]
push edx
mov ebx, eax
mov byte [esp + 0x3cc], 0x29
call fcn.0040fd10
add esp, 0x10
mov byte [esp + 0x3bc], 0x2b
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e258
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x88], esp
xor ebx, ebx
push 6
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.aliapi
mov byte [ecx + 4], bl
call fcn.00402320
lea ecx, [esp + 0x90]
push ecx
mov byte [esp + 0x3dc], 0x2c
call fcn.00405c60
mov ecx, eax
mov byte [esp + 0x3dc], 0x2b
call fcn.0041b370
mov byte [esp + 0x3bc], 0x2d
cmp dword [eax + 0x18], ebp
jb 0x40e2f5
mov eax, dword [eax + 4]
jmp 0x40e2f8
mov eax, dword [esi]
jmp 0x40dc98
mov eax, dword [esi]
jmp 0x40dcfc
mov eax, dword [esi]
jmp 0x40dd17
mov eax, dword [esi]
jmp 0x40dd7b
mov eax, dword [esi]
jmp 0x40dd96
mov eax, dword [esi]
jmp 0x40ddfa
mov eax, dword [esi]
jmp 0x40de15
mov eax, dword [esi]
jmp 0x40de79
mov esi, dword [esi]
jmp 0x40de92
add eax, 4
lea edx, [esp + 0x40]
push edx
mov ecx, eax
call fcn.00405790
mov byte [esp + 0x3bc], 0x2f
cmp dword [esp + 0x8c], ebp
jb 0x40e322
mov eax, dword [esp + 0x78]
push eax
call fcn.0043206e
add esp, 4
mov edx, dword [0x466ddc]
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
call eax
mov edx, dword [0x466ddc]
add eax, 0x10
mov dword [esp + 0x10c], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
call eax
mov edx, dword [0x466ddc]
add eax, 0x10
mov dword [esp + 0x110], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
call eax
add eax, 0x10
mov dword [esp + 0x114], eax
xor eax, eax
mov dword [esp + 0x128], ebx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
lea ecx, [esp + 0x10c]
mov byte [esp + 0x3bc], 0x30
mov eax, dword [esp + 0x44]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x74], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x3c4], 0x31
mov eax, dword [esp + 0x48]
push 0x1388
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x3cc], 0x30
call fcn.00428fd0
add esp, 0x10
lea esi, [esp + 0x10c]
call fcn.0040d330
mov byte [esp + 0x3bc], 0x2b
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40e438
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 0x25
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e460
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 0x21
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e488
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 0x1f
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e4b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1cc], ebp
jb 0x40e4c9
mov ecx, dword [esp + 0x1b8]
push ecx
call fcn.0043206e
add esp, 4
lea ecx, [esp + 0x94]
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
mov byte [esp + 0x3bc], 0x17
call fcn.0042e630
lea ecx, [esp + 0xfc]
mov byte [esp + 0x3bc], 0x16
call fcn.0042e630
mov byte [esp + 0x3bc], 0x11
mov dword [esp + method.Json::FastWriter.virtual_0], vtable.Json::FastWriter.0
cmp dword [esp + 0x224], ebp
jb 0x40e532
mov edx, dword [esp + 0x210]
push edx
call fcn.0043206e
add esp, 4
lea ecx, [esp + 0x208]
mov dword [esp + 0x224], edi
mov dword [esp + 0x220], ebx
mov byte [esp + 0x210], bl
call fcn.0042a96e
lea eax, [esp + 0xc4]
push eax
call fcn.00401f50
mov ecx, dword [esp + 0xd8]
push ecx
call fcn.0043206e
mov edx, dword [esp + 0xc8]
add esp, 4
push edx
mov dword [esp + 0xdc], ebx
call fcn.0043206e
add esp, 4
cmp dword [esp + 0x204], ebp
jb 0x40e5a0
mov eax, dword [esp + 0x1f0]
push eax
call fcn.0043206e
add esp, 4
lea esi, [esp + 0x2ac]
mov dword [esp + 0x204], edi
mov dword [esp + 0x200], ebx
mov byte [esp + 0x1f0], bl
call fcn.00428360
mov ebx, 0xf
xor ebp, ebp
mov esi, 0x10
cmp dword [esp + 0x1b0], esi
jb 0x40e5e6
mov ecx, dword [esp + 0x19c]
push ecx
call fcn.0043206e
add esp, 4
mov byte [esp + 0x19c], 0
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1b0], ebx
cmp dword [esp + 0x1e8], esi
jb 0x40e615
mov edx, dword [esp + 0x1d4]
push edx
call fcn.0043206e
add esp, 4
lea esi, [esp + 0x22c]
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1e4], ebp
mov byte [esp + 0x1d4], 0
call fcn.00428360
mov byte [esp + 0x3bc], 2
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e65f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x3bc], 1
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e687
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x4c]
mov dword [esp + 0x3bc], 0xffffffff
call fcn.0040c660
jmp 0x40d7c8
call fcn.00402b20
int3