Function at 0x40e710
Capabilities:
Hash data with md5
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x451bbf
mov eax, dword fs:[0]
push eax
sub esp, 0x348
mov eax, dword [0x4642d8]
xor eax, esp
mov dword [esp + 0x340], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4642d8]
xor eax, esp
push eax
lea eax, [esp + 0x35c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x36c]
cmp dword [eax + 0xe0], 0
mov dword [esp + 0x38], eax
je 0x40f89c
mov ebp, eax
lea eax, [ebp + 0x18]
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0xdc]
mov ebx, dword [eax]
mov eax, dword [ebp + 0xc8]
add ebp, 0xc8
test eax, eax
jne 0x40e7c6
call fcn.004325db
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x40e79c
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], 0
lea ecx, [esi + 0xc]
jl 0x40e7ca
cmp eax, dword [esi]
jne 0x40e7ca
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x40e805
mov eax, dword [eax]
jmp 0x40e792
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
test edi, edi
je 0x40f8c8
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 + 0x20], edi
mov dword [esp + 0x364], 0
mov esi, dword [ebx + 0xc]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub esi, 0x10
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x40e841
cmp eax, dword [esi]
jne 0x40e841
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x40e87c
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
test edi, edi
je 0x40f8c8
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 + 0x24], edi
mov dword [esp + 0x364], 1
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp]
push eax
push ecx
lea ebx, [esp + 0x14c]
mov edi, ebp
call fcn.00410230
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x98]
push edx
call fcn.00405650
mov eax, dword [eax]
xor ebx, ebx
mov dword [esp + 0x270], 0xf
mov dword [esp + 0x26c], ebx
mov byte [esp + 0x25c], bl
mov ecx, 3
mov byte [esp + 0x364], cl
mov edx, 0x50
mov dword [esp + 0x2cc], ecx
mov ecx, eax
lea esi, [esp + 0x254]
mov dword [esp + 0x254], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2c4], ebx
mov word [esp + reloc.winhttp.dll_WinHttpReceiveResponse], dx
call fcn.00428400
mov byte [esp + 0x364], 5
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e969
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x1f8]
lea ecx, [esp + 0x254]
call fcn.00428520
mov byte [esp + 0x364], 6
push ebx
mov esi, 0xf
push 0x456139
lea ecx, [esp + 0x190]
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x194], bl
call fcn.00402320
lea ecx, [esp + 0x14]
push ecx
sub esp, 0x1c
mov byte [esp + 0x384], 7
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x220]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov dword [esp + 0x40], ebx
lea edi, [esp + 0x1b4]
mov byte [ecx + 4], bl
call fcn.00402140
call fcn.00415060
mov eax, dword [esp + 0x34]
movzx ecx, al
shr eax, 8
add esp, 0x20
and eax, 0xff
cmp ecx, 0xa
je 0x40ecf0
cmp ecx, 0x7f
je 0x40ecf0
cmp ecx, 0xac
jne 0x40ecca
add eax, 0xfffffff0
cmp eax, esi
jbe 0x40ecf0
mov ebp, 0xf
mov dword [esp + 0x22c], ebp
mov dword [esp + 0x228], ebx
mov byte [esp + 0x218], bl
lea ecx, [esp + 0x214]
push ecx
lea edx, [esp + 0x80]
mov byte [esp + 0x368], 8
mov ecx, dword [esp + 0x28]
push edx
call fcn.00405650
mov byte [esp + 0x368], 9
mov edi, dword [eax]
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], ebp
mov eax, edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0x3c], esp
mov byte [esi + 4], bl
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40ea86
sub eax, ebp
push eax
push edi
mov ecx, esi
call fcn.00402320
mov byte [esp + 0x384], 0xa
call fcn.00405c60
push eax
mov byte [esp + 0x388], 9
call fcn.0041b9b0
mov byte [esp + 0x1b], al
mov byte [esp + 0x364], 8
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40eadf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x1b], bl
je 0x40f7a1
mov eax, 0xf
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
mov dword [esp + 0x184], eax
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
lea ecx, [esp + 0x84]
mov byte [esp + 0x364], 0xd
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00405650
mov byte [esp + 0x364], 0xe
mov eax, dword [eax]
lea edx, [esp + 0x2d4]
push edx
mov ecx, eax
call fcn.004282e0
mov byte [esp + 0x364], 0x10
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
mov ebp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40eb8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esp + 0x58]
lea ecx, [esp + 0x2d4]
call fcn.00428740
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1e8]
mov byte [esp + 0x370], 0x11
call fcn.00402140
mov byte [esp + 0x364], 0x10
cmp dword [esp + 0x70], ebp
jb 0x40ebd2
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0043206e
add esp, 4
cmp dword [esp + 0x1f0], ebx
jne 0x40ed81
lea esi, [esp + 0x2d4]
call fcn.00428360
cmp dword [esp + 0x1bc], ebp
jb 0x40ec04
mov edx, dword [esp + 0x1a8]
push edx
call fcn.0043206e
add esp, 4
mov esi, 0xf
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
cmp dword [esp + 0x184], ebp
jb 0x40ec37
mov eax, dword [esp + 0x170]
push eax
call fcn.0043206e
add esp, 4
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
cmp dword [esp + 0x1f4], ebp
jb 0x40ec65
mov ecx, dword [esp + 0x1e0]
push ecx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
cmp dword [esp + 0x22c], ebp
jb 0x40ec93
mov edx, dword [esp + 0x218]
push edx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x22c], esi
mov dword [esp + 0x228], ebx
mov byte [esp + 0x218], bl
cmp dword [esp + 0x1a0], ebp
jb 0x40ecc1
mov eax, dword [esp + 0x18c]
push eax
call fcn.0043206e
add esp, 4
cmp dword [esp + 0x210], ebp
jmp 0x40ed15
cmp ecx, 0xc0
jne 0x40ecd9
cmp eax, 0xa8
jmp 0x40ecea
cmp ecx, 0xa9
jne 0x40ea2a
cmp eax, 0xfe
jne 0x40ea2a
mov edi, 0x10
cmp dword [esp + 0x1a0], edi
jb 0x40ed0e
mov eax, dword [esp + 0x18c]
push eax
call fcn.0043206e
add esp, 4
cmp dword [esp + 0x210], edi
mov byte [esp + 0x18c], bl
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], esi
jb 0x40ed3c
mov ecx, dword [esp + 0x1fc]
push ecx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x210], esi
lea esi, [esp + 0x254]
mov dword [esp + 0x20c], ebx
mov byte [esp + 0x1fc], bl
call fcn.00428360
mov dword [esp + 0x364], 0xffffffff
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40f860
lea ecx, [esp + 0x214]
push ecx
lea edx, [esp + 0x1e0]
push edx
lea esi, [esp + 0x60]
call fcn.00402b30
add esp, 8
mov byte [esp + 0x364], 0x12
mov ecx, dword [eax + 0x14]
mov byte [esp + 0x140], bl
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xd8], 0x67452301
mov dword [esp + 0xdc], 0xefcdab89
mov dword [esp + 0xe0], 0x98badcfe
mov dword [esp + 0xe4], 0x10325476
cmp dword [eax + 0x18], ebp
jb 0x40edf3
mov eax, dword [eax + 4]
jmp 0x40edf6
add eax, 4
push eax
mov eax, ecx
lea ecx, [esp + 0xdc]
call fcn.00411520
lea edi, [esp + 0x3c]
lea eax, [esp + 0xd8]
call fcn.00411e90
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x178]
mov byte [esp + 0x370], 0x13
call fcn.00402140
cmp dword [esp + 0x54], ebp
jb 0x40ee40
mov eax, dword [esp + 0x40]
push eax
call fcn.0043206e
add esp, 4
mov esi, 0xf
mov byte [esp + 0x364], 0x10
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
cmp dword [esp + 0x70], ebp
jb 0x40ee6c
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0043206e
add esp, 4
push str.02000016_0010_0080_8000_10CA006D2CA5
lea edx, [esp + 0x170]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.00402bd0
add esp, 0xc
mov byte [esp + 0x364], 0x14
mov ecx, dword [eax + 0x14]
mov byte [esp + 0x140], bl
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xd8], 0x67452301
mov dword [esp + 0xdc], 0xefcdab89
mov dword [esp + 0xe0], 0x98badcfe
mov dword [esp + 0xe4], 0x10325476
cmp dword [eax + 0x18], ebp
jb 0x40eedc
mov eax, dword [eax + 4]
jmp 0x40eedf
add eax, 4
push eax
mov eax, ecx
lea ecx, [esp + 0xdc]
call fcn.00411520
lea edi, [esp + 0x3c]
lea eax, [esp + 0xd8]
call fcn.00411e90
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x370], 0x15
call fcn.00402140
cmp dword [esp + 0x54], ebp
jb 0x40ef29
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0043206e
add esp, 4
mov byte [esp + 0x364], 0x10
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
cmp dword [esp + 0x70], ebp
jb 0x40ef50
mov edx, dword [esp + 0x5c]
push edx
call fcn.0043206e
add esp, 4
lea ecx, [esp + 0x230]
call fcn.0042b556
push ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x368], 0x16
call fcn.0042e52d
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x150]
mov byte [esp + 0x368], 0x17
call fcn.0042d7fb
push eax
push 0x456698
lea ecx, [esp + 0xcc]
mov byte [esp + 0x36c], 0x18
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x14c]
mov byte [esp + 0x364], 0x17
call fcn.0042e630
lea ecx, [esp + 0x214]
push ecx
lea ecx, [esp + 0x160]
call fcn.0042d7fb
push eax
push str.controlId
lea ecx, [esp + 0xcc]
mov byte [esp + 0x36c], 0x19
call fcn.0042f0a7
mov ecx, eax
call fcn.0042ee2b
lea ecx, [esp + 0x15c]
mov byte [esp + 0x364], 0x17
call fcn.0042e630
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x238]
call fcn.0042d1d3
mov byte [esp + 0x364], 0x1a
mov eax, dword [esp + 0x1c4]
cmp dword [esp + 0x1d8], ebp
jae 0x40f046
lea eax, [esp + 0x1c4]
mov edi, dword [esp + 0x1d4]
push eax
lea esi, [esp + 0x5c]
call fcn.004126b0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x370], 0x1b
call fcn.00402140
mov byte [esp + 0x364], 0x1a
cmp dword [esp + 0x70], ebp
jb 0x40f08d
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0043206e
add esp, 4
mov edx, dword [0x466ddc]
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x364], 0x1c
mov ecx, dword [esp + 0x1c4]
cmp dword [esp + 0x1d8], ebp
jae 0x40f0c3
lea ecx, [esp + 0x1c4]
lea edx, [esp + 0x80]
push edx
call fcn.00405790
mov dword [esp + 0x1c], eax
mov byte [esp + 0x364], 0x1d
mov ecx, dword [esp + 0x1a8]
cmp dword [esp + 0x1bc], ebp
jae 0x40f0f3
lea ecx, [esp + 0x1a8]
lea eax, [esp + 0x94]
push eax
call fcn.00405790
mov edi, eax
mov byte [esp + 0x364], 0x1e
mov ecx, dword [esp + 0x170]
cmp dword [esp + 0x184], ebp
jae 0x40f121
lea ecx, [esp + 0x170]
lea edx, [esp + 0x9c]
push edx
call fcn.00405790
mov esi, eax
lea eax, [esp + 0xa0]
push eax
mov ecx, str.securityControlScene
mov byte [esp + 0x368], 0x1f
call fcn.004056e0
mov byte [esp + 0x364], 0x20
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov ecx, dword [edi]
mov eax, dword [eax]
push edx
mov edx, dword [esi]
push ecx
push edx
push eax
push str.serviceId_skey_sksign_sdata_s
lea edi, [esp + 0x28]
call fcn.004109e0
mov byte [esp + 0x378], 0x1f
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f19e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x1e
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f1c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x1d
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f1f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x1c
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f21f
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 + 0x20], esp
push ecx
mov ecx, 0x4566f0
call fcn.004056e0
mov byte [esp + 0x368], 0x21
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x36c], 0x1c
call fcn.00414cd0
lea edx, [esp + 0x60]
push edx
lea edi, [esp + 0x1cc]
mov byte [esp + 0x370], 0x22
call fcn.00415200
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x370], 0x23
call fcn.00402140
mov byte [esp + 0x364], 0x22
cmp dword [esp + 0x70], ebp
jb 0x40f2ac
mov eax, dword [esp + 0x5c]
push eax
call fcn.0043206e
add esp, 4
mov ecx, dword [esp + 0x1c4]
cmp dword [esp + 0x1d8], ebp
jae 0x40f2c3
lea ecx, [esp + 0x1c4]
lea edx, [esp + 0x90]
push edx
call fcn.00405790
mov ebx, eax
mov byte [esp + 0x364], 0x24
mov ecx, dword [esp + 0x1a8]
cmp dword [esp + 0x1bc], ebp
jae 0x40f2f1
lea ecx, [esp + 0x1a8]
lea eax, [esp + 0x88]
push eax
call fcn.00405790
mov edi, eax
mov byte [esp + 0x364], 0x25
mov ecx, dword [esp + 0x170]
cmp dword [esp + 0x184], ebp
jae 0x40f31f
lea ecx, [esp + 0x170]
lea edx, [esp + 0x74]
push edx
call fcn.00405790
mov esi, eax
lea eax, [esp + 0x8c]
push eax
mov ecx, str.securityControlScene
mov byte [esp + 0x368], 0x26
call fcn.004056e0
mov byte [esp + 0x364], 0x27
mov ecx, dword [ebx]
mov edx, dword [edi]
push ecx
mov ecx, dword [esi]
push edx
mov edx, dword [eax]
push ecx
push edx
push str.serviceId_skey_sksign_sdata_s
lea edi, [esp + 0x28]
call fcn.004109e0
mov byte [esp + 0x378], 0x26
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f395
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x25
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f3bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x24
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f3e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x22
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f413
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x7c]
push edx
mov ebx, str.sign
call fcn.00403a90
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x38]
push edx
mov ebx, eax
mov byte [esp + 0x374], 0x28
call fcn.0040fd10
add esp, 0x10
mov byte [esp + 0x364], 0x2a
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f46b
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
xor ebx, ebx
push 6
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.aliobj
mov byte [ecx + 4], bl
call fcn.00402320
lea ecx, [esp + 0x58]
push ecx
mov byte [esp + 0x384], 0x2b
call fcn.00405c60
mov ecx, eax
mov byte [esp + 0x384], 0x2a
call fcn.0041b370
mov ebp, 0x10
mov byte [esp + 0x364], 0x2c
cmp dword [eax + 0x18], ebp
jb 0x40f4c8
mov eax, dword [eax + 4]
jmp 0x40f4cb
add eax, 4
lea edx, [esp + 0x34]
push edx
mov ecx, eax
call fcn.00405790
mov byte [esp + 0x364], 0x2e
cmp dword [esp + 0x54], ebp
jb 0x40f4f2
mov eax, dword [esp + 0x40]
push eax
call fcn.0043206e
add esp, 4
mov edx, dword [0x466ddc]
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call eax
mov edx, dword [0x466ddc]
add eax, 0x10
mov dword [esp + 0xa4], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
call eax
mov edx, dword [0x466ddc]
add eax, 0x10
mov dword [esp + 0xa8], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x466ddc
call eax
add eax, 0x10
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xa4]
mov byte [esp + 0x364], 0x2f
mov eax, dword [esp + 0x2c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x36c], 0x30
mov eax, dword [esp + 0x3c]
push 0x1388
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
call fcn.00404120
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x374], 0x2f
call fcn.004290d0
add esp, 0x10
lea esi, [esp + 0xa4]
call fcn.0040d330
mov byte [esp + 0x364], 0x2a
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f602
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x22
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 0x40f62a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x1c
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f652
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x364], 0x1a
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 0x40f67a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1d8], ebp
jb 0x40f693
mov ecx, dword [esp + 0x1c4]
push ecx
call fcn.0043206e
add esp, 4
lea ecx, [esp + 0xc4]
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
mov byte [esp + 0x364], 0x16
call fcn.0042e630
mov byte [esp + 0x364], 0x10
mov dword [esp + method.Json::FastWriter.virtual_0], vtable.Json::FastWriter.0
cmp dword [esp + 0x24c], ebp
jb 0x40f6e8
mov edx, dword [esp + 0x238]
push edx
call fcn.0043206e
add esp, 4
lea ecx, [esp + 0x230]
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ebx
mov byte [esp + 0x238], bl
call fcn.0042a96e
lea esi, [esp + 0x2d4]
call fcn.00428360
cmp dword [esp + 0x1bc], ebp
jb 0x40f72e
mov eax, dword [esp + 0x1a8]
push eax
call fcn.0043206e
add esp, 4
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
cmp dword [esp + 0x184], ebp
jb 0x40f75c
mov ecx, dword [esp + 0x170]
push ecx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x184], edi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
cmp dword [esp + 0x1f4], ebp
jb 0x40f78a
mov edx, dword [esp + 0x1e0]
push edx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
mov dword [esp + 0x1f4], edi
xor ebx, ebx
mov edi, 0x10
cmp dword [esp + 0x22c], edi
jb 0x40f7bf
mov eax, dword [esp + 0x218]
push eax
call fcn.0043206e
add esp, 4
mov esi, 0xf
mov dword [esp + 0x22c], esi
mov dword [esp + 0x228], ebx
mov byte [esp + 0x218], bl
cmp dword [esp + 0x1a0], edi
jb 0x40f7f2
mov ecx, dword [esp + 0x18c]
push ecx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x19c], ebx
mov byte [esp + 0x18c], bl
cmp dword [esp + 0x210], edi
jb 0x40f820
mov edx, dword [esp + 0x1fc]
push edx
call fcn.0043206e
add esp, 4
mov dword [esp + 0x210], esi
lea esi, [esp + 0x254]
mov dword [esp + 0x20c], ebx
mov byte [esp + 0x1fc], bl
call fcn.00428360
mov dword [esp + 0x364], 0xffffffff
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f86c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f88c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x38]
cmp dword [ebp + 0xe0], ebx
jne 0x40e765
mov al, 1
mov ecx, dword [esp + 0x35c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x340]
xor ecx, esp
call fcn.00432079
add esp, 0x354
ret 4
call fcn.00402b20
int3