Function at 0x437460
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6d3c
call fcn.005003b0
mov eax, dword [0x56d380]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
push eax
mov dword [ebp - 0x6cac], esi
mov dword [ebp - 0x6cf0], ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x437623
push 0x53cbd0
lea ecx, [ebp - 0x6c6c]
call fcn.0042ad10
push 0x53cbd0
lea ecx, [ebp - 0x6ccc]
call fcn.0042ad10
push 0x53cbd0
lea ecx, [ebp - 0x6cb4]
call fcn.0042ad10
push 0x53cbd0
lea ecx, [ebp - 0x6cb0]
call fcn.0042ad10
push 0x49cc
lea ecx, [ebp - 0x6c64]
push ebx
push ecx
mov dword [ebp - 0x6c68], ebx
call fcn.00500080
push 0x40
lea eax, [ebp - 0x1292]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x1294], dx
call fcn.00500080
push 0x124e
lea ecx, [ebp - 0x1252]
push ebx
push ecx
call fcn.00500080
mov edx, dword [0x56c260]
mov eax, dword [edx + 0xc]
add esp, 0x24
mov ecx, 0x56c260
call eax
mov edx, dword [0x56c260]
add eax, 0x10
mov dword [ebp - 0x6ca4], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x56c260
call eax
add eax, 0x10
lea ecx, [ebp - 0x6ca4]
mov dword [ebp - 0x6ca0], eax
call fcn.00441010
push ebx
lea ecx, [ebp - 0x6ca4]
call fcn.00448300
push ecx
mov ecx, dword [ebp + 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x6ca4]
call fcn.0044b1e0
lea ecx, [ebp - 0x6ca4]
call fcn.004402c0
test al, al
jne 0x437657
lea ecx, [ebp - 0x6ca4]
call fcn.00444cd0
mov eax, dword [ebp - 0x6cb0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4375bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6cb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4375df
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6ccc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437601
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437623
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437642
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00500397
mov esp, ebp
pop ebp
ret 8
cmp dword [ebp + 0xc], ebx
jne 0x43767b
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
cmp ecx, eax
je 0x43767b
mov edx, dword [ebp - 0x6cf0]
push edx
push ecx
push eax
push eax
call fcn.00434f70
add esp, 0x10
mov dword [esi + 8], eax
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
cmp ecx, eax
je 0x43769a
mov edx, dword [ebp - 0x6cf0]
push edx
push ecx
push eax
push eax
call fcn.00435010
add esp, 0x10
mov dword [esi + 0x28], eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Content
call fcn.00441820
test al, al
je 0x439db8
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.CheckUrlList
call fcn.00441820
test al, al
je 0x4378b6
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
mov edi, dword [ebp - 0x6c6c]
mov edi, edi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.item
call fcn.00441820
test al, al
je 0x4378a9
push 0x1000
lea eax, [ebp - 0x2294]
push ebx
push eax
mov dword [ebp - 0x2298], ebx
call fcn.00500080
mov ecx, dword [ebp - 0x6c98]
add esp, 0xc
push str.gtype
push ecx
lea edx, [ebp - 0x6ca8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
mov eax, dword [ebp - 0x6ca8]
push eax
call fcn.005013de
mov dword [ebp - 0x2298], eax
mov eax, dword [ebp - 0x6ca8]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43777c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c98]
push 0x53f024
push ecx
lea edx, [ebp - 0x6cb8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
lea eax, [ebp - 0x6cb8]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4377ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
jle 0x4377f3
cmp eax, 0x400
jge 0x4377f3
push eax
push ecx
lea ecx, [ebp - 0x2294]
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c98]
push str.val2
push edx
lea eax, [ebp - 0x6cbc]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
lea ecx, [ebp - 0x6cbc]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cbc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437845
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x6c6c]
mov eax, dword [edi - 0xc]
cmp eax, ebx
jle 0x43786a
cmp eax, 0x400
jge 0x43786a
push eax
lea ecx, [ebp - 0x1a94]
push edi
push ecx
call fcn.00503a52
add esp, 0xc
cmp dword [ebp - 0x2298], ebx
jbe 0x4376f0
lea eax, [ebp - 0x2294]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x437880
sub eax, edx
sar eax, 1
je 0x4376f0
lea edx, [ebp - 0x2298]
push edx
lea ecx, [esi + 0x24]
call fcn.00437370
jmp 0x4376f0
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
jmp 0x4378bc
mov edi, dword [ebp - 0x6c6c]
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.ProductsList
call fcn.00441820
test al, al
je 0x4399a2
mov eax, dword [ebp - 0x6c98]
push str.time
push eax
lea ecx, [ebp - 0x6ca8]
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
lea edx, [ebp - 0x6ca8]
push edx
mov ecx, esi
call fcn.00423fc0
mov eax, dword [ebp - 0x6ca8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43793c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.PlatForm
call fcn.00441820
test al, al
je 0x439997
mov ecx, dword [ebp - 0x6c98]
push 0x53efd4
push ecx
lea edx, [ebp - 0x6d10]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
mov eax, dword [ebp - 0x6d10]
push eax
call fcn.005013de
mov dword [ebp - 0x6d3c], eax
mov eax, dword [ebp - 0x6d10]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4379b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c98]
push str.version
push ecx
lea edx, [ebp - 0x6d30]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.00444f40
lea eax, [ebp - 0x6d30]
push eax
lea ecx, [ebp - 0x6ccc]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437a0a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
mov esi, dword [ebp - 0x6ccc]
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Product
call fcn.00441820
test al, al
je 0x43997d
push 0x49d0
lea ecx, [ebp - 0x6c68]
push ebx
push ecx
call fcn.00500080
mov edx, dword [ebp - 0x6d3c]
add esp, 0xc
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
mov dword [ebp - 0x6c68], edx
call fcn.00423850
cmp dword [esi - 0xc], ebx
jle 0x437aa2
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov eax, dword [esi - 0xc]
cmp eax, 0x80
jg 0x437aa2
push eax
lea eax, [ebp - 0x6c58]
push esi
push eax
call fcn.00503a52
add esp, 0xc
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov esi, dword [ebp - 0x6c6c]
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x437b15
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x437aed
cmp dword [esi - 8], ebx
jl 0x43998d
xor edx, edx
mov dword [esi - 0xc], ebx
mov word [esi], dx
jmp 0x437b15
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437b03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], 0x53efd4
call fcn.00441820
test al, al
je 0x437bce
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6ce0]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6ce0]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x437bb2
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x437b96
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x437b96
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x437b89
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x437bac
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6ce0]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437bce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x437be2
push esi
call fcn.005013de
add esp, 4
mov dword [ebp - 0x6c64], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x437c44
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x437c1c
cmp dword [esi - 8], ebx
jl 0x43998d
xor edx, edx
mov dword [esi - 0xc], ebx
mov word [esi], dx
jmp 0x437c44
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437c32
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.GType
call fcn.00441820
test al, al
je 0x437cfd
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d00]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6d00]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x437ce1
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x437cc5
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x437cc5
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x437cb8
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x437cdb
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6d00]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437cfd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x437d11
push esi
call fcn.005013de
add esp, 4
mov dword [ebp - 0x6c5c], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x437d73
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x437d4b
cmp dword [esi - 8], ebx
jl 0x43998d
xor edx, edx
mov dword [esi - 0xc], ebx
mov word [esi], dx
jmp 0x437d73
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Item
call fcn.00441820
test al, al
je 0x437e2c
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d08]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6d08]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x437e10
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x437df4
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x437df4
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x437de7
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x437e0a
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6d08]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437e2c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x437e40
push esi
call fcn.005013de
add esp, 4
mov dword [ebp - 0x6c60], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x437ea2
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x437e7a
cmp dword [esi - 8], ebx
jl 0x43998d
xor edx, edx
mov dword [esi - 0xc], ebx
mov word [esi], dx
jmp 0x437ea2
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437e90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Version
call fcn.00441820
test al, al
je 0x437f55
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cf4]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cf4]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x437f39
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x437f23
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x437f23
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x437f16
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6c6c], ebx
xor ebx, ebx
jmp 0x437f33
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov ecx, dword [ebp - 0x6cf4]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437f55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
cmp dword [esi - 0xc], ebx
jle 0x437fa9
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x20
jg 0x437fa9
push eax
lea ecx, [ebp - 0x6b18]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x43800b
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x437fe3
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x43800b
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437ff9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Name
call fcn.00441820
test al, al
je 0x4380c4
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6ce4]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6ce4]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x4380a8
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x43808c
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x43808c
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x43807f
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x4380a2
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6ce4]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4380c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x4380fd
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x40
jg 0x4380fd
push eax
lea ecx, [ebp - 0x6ad8]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x43815f
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438137
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x43815f
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43814d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Desc
call fcn.00441820
test al, al
je 0x438218
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d04]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6d04]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x4381fc
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x4381e0
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4381e0
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x4381d3
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x4381f6
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6d04]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438218
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x438253
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x800
jg 0x438253
push eax
lea ecx, [ebp - 0x6648]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x4382b5
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x43828d
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x4382b5
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4382a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], 0x53ef60
call fcn.00441820
test al, al
je 0x43836e
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cec]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cec]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x438352
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x438336
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x438336
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x438329
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x43834c
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6cec]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43836e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x4383be
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
push 0x556338
push 0x53ef5c
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x104
jg 0x4383be
push eax
lea ecx, [ebp - 0x6a58]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x438420
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x4383f8
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x438420
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43840e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.CheckUrl
call fcn.00441820
test al, al
je 0x4384d9
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cfc]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cfc]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x4384bd
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x4384a1
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4384a1
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x438494
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x4384b7
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6cfc]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4384d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x4385cd
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c5c]
push ecx
mov ecx, dword [ebp - 0x6cac]
lea edx, [ebp - 0x6d38]
push edx
call fcn.00437130
mov ecx, dword [eax]
mov esi, dword [ebp - 0x6cb4]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x43856e
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x43855e
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x43855e
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x438551
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6cb4], ebx
xor ebx, ebx
jmp 0x43856e
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6cb4]
call fcn.00403ee0
mov eax, dword [ebp - 0x6d38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438590
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6cb4]
cmp dword [eax - 0xc], ebx
jle 0x4385ac
push eax
push str._moduleurl_
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x400
jg 0x4385cd
push eax
lea ecx, [ebp - 0x5648]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x43862f
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438607
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x43862f
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43861d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.FtpUrl
call fcn.00441820
test al, al
je 0x4386e8
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cdc]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cdc]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x4386cc
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x4386b0
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4386b0
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x4386a3
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x4386c6
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6cdc]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4386e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x4387dc
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c5c]
push ecx
mov ecx, dword [ebp - 0x6cac]
lea edx, [ebp - 0x6ce8]
push edx
call fcn.004371d0
mov ecx, dword [eax]
mov esi, dword [ebp - 0x6cb0]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x43877d
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x43876d
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x43876d
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x438760
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6cb0], ebx
xor ebx, ebx
jmp 0x43877d
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6cb0]
call fcn.00403ee0
mov eax, dword [ebp - 0x6ce8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43879f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6cb0]
cmp dword [eax - 0xc], ebx
jle 0x4387bb
push eax
push str._moduleftp_
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x400
jg 0x4387dc
push eax
lea ecx, [ebp - 0x4e48]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x43883e
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438816
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x43883e
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43882c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IsParseDomain
call fcn.00441820
test al, al
je 0x4388f7
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cd8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cd8]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x4388db
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x4388bf
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4388bf
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x4388b2
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebx + 0x10]
mov dword [ebp - 0x6c6c], esi
xor ebx, ebx
jmp 0x4388d5
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov esi, dword [ebp - 0x6c6c]
mov ecx, dword [ebp - 0x6cd8]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4388f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], ebx
jle 0x43890b
push esi
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x27c8], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x43896d
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438945
cmp dword [esi - 8], ebx
jl 0x43998d
xor edx, edx
mov dword [esi - 0xc], ebx
mov word [esi], dx
jmp 0x43896d
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43895b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.DownloadUrl
call fcn.00441820
test al, al
je 0x438a20
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cf8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cf8]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x438a04
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x4389ee
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4389ee
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4389e1
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6c6c], ebx
xor ebx, ebx
jmp 0x4389fe
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov ecx, dword [ebp - 0x6cf8]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438a20
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
cmp dword [esi - 0xc], ebx
jle 0x438a76
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x400
jg 0x438a76
push eax
lea ecx, [ebp - 0x4648]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x438ad8
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438ab0
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x438ad8
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438ac6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.CloseMainWnd
call fcn.00441820
test al, al
je 0x438b8b
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cbc]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cbc]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x438b6f
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x438b59
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x438b59
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x438b4c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6c6c], ebx
xor ebx, ebx
jmp 0x438b69
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov ecx, dword [ebp - 0x6cbc]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438b8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
cmp dword [esi - 0xc], ebx
jle 0x438bdf
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x40
jg 0x438bdf
push eax
lea ecx, [ebp - 0x3e48]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x438c41
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438c19
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x438c41
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438c2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.CloseProcess
call fcn.00441820
test al, al
je 0x438cf4
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cb8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6cb8]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x438cd8
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x438cc2
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x438cc2
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x438cb5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6c6c], ebx
xor ebx, ebx
jmp 0x438cd2
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov ecx, dword [ebp - 0x6cb8]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438cf4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
cmp dword [esi - 0xc], ebx
jle 0x438d4a
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x400
jg 0x438d4a
push eax
lea ecx, [ebp - 0x3dc8]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x438dac
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438d84
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x438dac
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438d9a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c6c], esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.ClosePrompt
call fcn.00441820
test al, al
je 0x438e5f
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6ca8]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
mov ecx, dword [ebp - 0x6ca8]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x438e43
cmp dword [esi + 0xc], ebx
lea edi, [esi + 0xc]
jl 0x438e2d
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x438e2d
push eax
call fcn.00403b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x438e20
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x6c6c], ebx
xor ebx, ebx
jmp 0x438e3d
mov edx, dword [ecx - 0xc]
push edx
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00403ee0
mov ecx, dword [ebp - 0x6ca8]
lea eax, [ecx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438e5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
cmp dword [esi - 0xc], ebx
jle 0x438eb5
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov esi, dword [ebp - 0x6c6c]
mov eax, dword [esi - 0xc]
cmp eax, 0x400
jg 0x438eb5
push eax
lea ecx, [ebp - 0x35c8]
push esi
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
mov edi, dword [esi - 0x10]
cmp dword [esi - 0xc], ebx
lea eax, [esi - 0x10]
je 0x438f17
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x438eef
cmp dword [esi - 8], ebx
jl 0x43998d
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi], ax
jmp 0x438f17
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438f05
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [ebp - 0x6c6c], eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.StartProcess
call fcn.00441820
test al, al
je 0x438f7c
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d0c]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d0c]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d0c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438f7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x438fd2
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x200
jg 0x438fd2
push eax
push ecx
lea edx, [ebp - 0x2dc8]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.StartCmd
call fcn.00441820
test al, al
je 0x439056
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d18]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d18]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439056
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x439097
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x80
jg 0x439097
push eax
push ecx
lea edx, [ebp - 0x29c8]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.RegMsg
call fcn.00441820
test al, al
je 0x43911b
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d28]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d28]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43911b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x439171
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x80
jg 0x439171
push eax
push ecx
lea edx, [ebp - 0x28c8]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IsDatFileCopy
call fcn.00441820
test al, al
je 0x4391f5
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d20]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d20]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4391f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x43920f
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x27c4], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IniFile
call fcn.00441820
test al, al
je 0x439293
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6d14]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6d14]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439293
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x4392fe
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
push 0x556338
push 0x53ef5c
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x104
jg 0x4392fe
push eax
push ecx
lea edx, [ebp - 0x27c0]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IniAppName
call fcn.00441820
test al, al
je 0x439382
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d1c]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d1c]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439382
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x4393d6
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x40
jg 0x4393d6
push eax
push ecx
lea edx, [ebp - 0x25b8]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IniKeyName
call fcn.00441820
test al, al
je 0x43945a
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d24]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d24]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43945a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x4394ae
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x40
jg 0x4394ae
push eax
push ecx
lea edx, [ebp - 0x2538]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IniFileMode
call fcn.00441820
test al, al
je 0x439532
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6d2c]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6d2c]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439532
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x43954c
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x24b8], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.ResourceDept
call fcn.00441820
test al, al
je 0x4395d0
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6d34]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6d34]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6d34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4395d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x53cbd0
push 0x53d240
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
cmp dword [ecx - 0xc], ebx
jle 0x439626
push 0x53cbd0
push 0x53efac
lea ecx, [ebp - 0x6c6c]
call fcn.00423850
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, 0x100
jg 0x439626
push eax
push ecx
lea edx, [ebp - 0x24b4]
push edx
call fcn.00503a52
add esp, 0xc
mov eax, dword [ebp - 0x6c9c]
push ebx
push ebx
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IsBigFile
call fcn.00441820
test al, al
je 0x4396aa
mov ecx, dword [ebp - 0x6c98]
push ecx
lea edx, [ebp - 0x6cd4]
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea eax, [ebp - 0x6cd4]
push eax
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4396aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x4396c4
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x22b4], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Hide
call fcn.00441820
test al, al
je 0x439748
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cc0]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cc0]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439748
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x439762
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x22b0], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.IsScrollBack
call fcn.00441820
test al, al
je 0x4397e6
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cc8]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cc8]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4397e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x439800
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x22ac], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.Rate
call fcn.00441820
test al, al
je 0x439884
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cd0]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cd0]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cd0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439884
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
jle 0x43989e
push eax
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x22a4], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.UpdateMode
call fcn.00441820
test al, al
je 0x439922
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cc4]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cc4]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439922
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x6c6c]
cmp dword [edi - 0xc], ebx
jle 0x43993c
push edi
call fcn.0050140d
add esp, 4
mov dword [ebp - 0x22a0], eax
mov ecx, dword [ebp - 0x6cac]
cmp dword [ebp - 0x6c68], ebx
jne 0x439952
mov dword [ebp - 0x229c], ebx
jmp 0x43995e
inc dword [ecx + 0x34]
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x229c], eax
lea edx, [ebp - 0x6c68]
push edx
add ecx, 4
call fcn.00437270
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
jmp 0x437a15
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
jmp 0x437947
push 0x80070057
call fcn.00404190
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.GamePakList
call fcn.00441820
test al, al
je 0x439dab
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
mov esi, dword [ebp - 0x6cac]
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], 0x53ed30
call fcn.00441820
test al, al
je 0x439da0
push 0x1290
lea eax, [ebp - 0x1294]
push ebx
push eax
call fcn.00500080
add esp, 0xc
lea ecx, [ebp - 0x6ca4]
call fcn.00440f80
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.filehash
call fcn.00441820
test al, al
je 0x439aa5
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cc4]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cc4]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439aa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
je 0x439ac8
cmp eax, 0x20
jg 0x439ac8
push eax
push ecx
lea ecx, [ebp - 0x1294]
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.compressfilehash
call fcn.00441820
test al, al
je 0x439b4c
mov eax, dword [ebp - 0x6c98]
push eax
lea ecx, [ebp - 0x6cd0]
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea edx, [ebp - 0x6cd0]
push edx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439b4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
je 0x439b6f
cmp eax, 0x20
jg 0x439b6f
push eax
push ecx
lea ecx, [ebp - 0x1252]
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.filepath
call fcn.00441820
test al, al
je 0x439bf3
mov eax, dword [ebp - 0x6c98]
push eax
lea ecx, [ebp - 0x6cc8]
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea edx, [ebp - 0x6cc8]
push edx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439bf3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x6c6c]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
je 0x439c18
cmp eax, 0x104
jg 0x439c18
push eax
push ecx
lea ecx, [ebp - 0x1210]
push ecx
call fcn.00503a52
add esp, 0xc
mov edx, dword [ebp - 0x6c9c]
push ebx
push ebx
push edx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.filelen
call fcn.00441820
test al, al
je 0x439c9c
mov eax, dword [ebp - 0x6c98]
push eax
lea ecx, [ebp - 0x6cc0]
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea edx, [ebp - 0x6cc0]
push edx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439c9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c6c]
cmp dword [eax - 0xc], ebx
je 0x439cb6
push eax
call fcn.005013de
add esp, 4
mov dword [ebp - 0x1008], eax
mov ecx, dword [ebp - 0x6c9c]
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x6ca4]
call fcn.004407c0
lea ecx, [ebp - 0x6c6c]
call fcn.004040f0
push ecx
mov eax, esp
lea ecx, [ebp - 0x6ca4]
mov dword [eax], str.pdownurl
call fcn.00441820
test al, al
je 0x439d3a
mov edx, dword [ebp - 0x6c98]
push edx
lea eax, [ebp - 0x6cd4]
push eax
lea ecx, [ebp - 0x6ca4]
call fcn.0044aac0
lea ecx, [ebp - 0x6cd4]
push ecx
lea ecx, [ebp - 0x6c6c]
call fcn.00423fc0
mov eax, dword [ebp - 0x6cd4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x439d3a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x6c6c]
mov eax, dword [edi - 0xc]
cmp eax, ebx
je 0x439d5f
cmp eax, 0x800
jg 0x439d5f
push eax
lea ecx, [ebp - 0x1004]
push edi
push ecx
call fcn.00503a52
add esp, 0xc
lea eax, [ebp - 0x1294]
lea edx, [eax + 2]
jmp 0x439d70
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x439d70
sub eax, edx
sar eax, 1
je 0x439d90
lea edx, [ebp - 0x1294]
push edx
lea ecx, [esi + 0x14]
call fcn.004372f0
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
jmp 0x4399e5
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
lea ecx, [ebp - 0x6ca4]
call fcn.00440fc0
jmp 0x439dbe
mov edi, dword [ebp - 0x6c6c]
mov eax, dword [ebp - 0x6cac]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
mov eax, 0xddf7c34f
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, 1
jne 0x439dea
mov esi, dword [ebp - 0x6cf0]
lea ecx, [ebp - 0x6ca4]
call fcn.00444cd0
mov eax, dword [ebp - 0x6cb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439e17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6cb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439e39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6ccc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439e5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439e77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439e96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00500397
mov esp, ebp
pop ebp
ret 8