Function at 0x4248e0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x533a39
mov eax, dword fs:[0]
push eax
sub esp, 0x414
mov eax, dword [0x57b300]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
cmp dword [0x5845c4], eax
je 0x424981
push 2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x418], esp
push 0xb
push str.InstallType
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov dword [ebp - 4], 0
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov esi, esp
mov ecx, edx
xor eax, eax
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424974
jmp 0x4249ed
push 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x418], esp
push 0xb
push str.InstallType
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov dword [ebp - 4], 1
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov esi, esp
mov ecx, edx
xor eax, eax
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4249e2
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00416d80
push SysReAllocStringLen
mov dword [ebp - 4], 0xffffffff
call fcn.00418030
add esp, 0x38
lea eax, [ebp - 0x344]
push 0x104
push 0
push eax
call fcn.004edf00
add esp, 0xc
lea eax, [ebp - 0x344]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x344]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x420], eax
test eax, eax
je 0x424b10
inc eax
push eax
call fcn.0046177d
add esp, 4
mov esi, eax
lea eax, [ebp - 0x344]
push esi
push dword [ebp - 0x420]
push dword [ebp - 0x41c]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x424b07
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x418]
push eax
push 0x53fdfc
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x424b07
push 0x104
lea eax, [ebp - 0x240]
push 0
push eax
call fcn.004edf00
mov edx, dword [ebp - 0x418]
mov ecx, dword [edx + 0xc]
movzx eax, cx
push eax
movzx eax, word [edx + 8]
shr ecx, 0x10
push ecx
push eax
movzx eax, word [edx + 0x12]
push eax
lea eax, [ebp - 0x240]
push 0x53fe00
push eax
call fcn.004299f0
push esi
call fcn.00461786
add esp, 0x28
xor ecx, ecx
nop dword [eax]
mov al, byte [ebp + ecx - 0x240]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x13d], al
test al, al
jne 0x424af0
jmp 0x424b10
push esi
call fcn.00461786
add esp, 4
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x3ec], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424b34
sub ecx, edx
lea eax, [ebp - 0x344]
push ecx
push eax
lea ecx, [ebp - 0x3ec]
call fcn.00404d10
cmp dword [ebp - 0x3d8], 0x10
lea edi, [ebp - 0x3ec]
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3dc]
cmovae edi, edx
mov dword [ebp - 4], 2
test eax, eax
je 0x425a8f
dec eax
or esi, 0xffffffff
cmp eax, esi
mov ecx, esi
cmovb ecx, eax
add ecx, edi
cmp byte [ecx], 0x5c
je 0x424b9e
nop dword [eax]
cmp ecx, edi
je 0x425a8f
dec ecx
cmp byte [ecx], 0x5c
jne 0x424b90
sub ecx, edi
cmp ecx, 0xffffffff
je 0x425a8f
mov eax, dword [ebp - 0x3dc]
inc ecx
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x360], 0xf
mov byte [ebp - 0x374], 0
cmp eax, ecx
jb 0x425ada
sub eax, ecx
mov edi, esi
cmp eax, 0xffffffff
cmovb edi, eax
cmp dword [ebp - 0x3d8], 0x10
lea eax, [ebp - 0x3ec]
cmovae eax, edx
add eax, ecx
mov dword [ebp - 0x418], eax
cmp edi, 0xf
ja 0x424c1e
push edi
push eax
lea eax, [ebp - 0x374]
mov dword [ebp - 0x364], edi
push eax
call fcn.004ed980
mov byte [ebp + edi - 0x374], 0
mov edi, dword [ebp - 0x374]
jmp 0x424c91
cmp edi, 0x7fffffff
ja 0x425adf
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x424c3d
mov eax, SysReAllocString
jmp 0x424c47
mov ecx, 0x16
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x420], eax
lea ecx, [ebp - 0x374]
inc eax
push eax
call fcn.00405430
mov ecx, dword [ebp - 0x420]
push edi
push dword [ebp - 0x418]
mov dword [ebp - 0x41c], eax
push eax
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x360], ecx
call fcn.004ed400
mov eax, dword [ebp - 0x41c]
mov byte [eax + edi], 0
mov edi, eax
mov dword [ebp - 0x374], eax
add esp, 0xc
push 0x104
lea eax, [ebp - 0x13c]
push 0
push eax
call fcn.004edf00
add esp, 0xc
lea ecx, [ebp - 0x374]
cmp dword [ebp - 0x360], 0x10
lea edx, [ebp - 0x13c]
cmovae ecx, edi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x424cc2
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x390], 0xf
mov byte [ebp - 0x3a4], al
sub esp, 0x18
mov byte [ebp - 4], 4
mov edx, esp
lea ecx, [ebp - 0x13c]
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], al
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424d10
sub ecx, edi
lea eax, [ebp - 0x13c]
push ecx
push eax
mov ecx, edx
call fcn.00404d10
lea eax, [ebp - 0x35c]
push eax
call fcn.00440a90
mov edi, eax
add esp, 0x1c
lea eax, [ebp - 0x3a4]
cmp eax, edi
je 0x424dc4
mov edx, dword [ebp - 0x390]
cmp edx, 0x10
jb 0x424d81
mov ecx, dword [ebp - 0x3a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424d77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425ae4
push edx
push ecx
call fcn.00461701
add esp, 8
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x390], 0xf
mov byte [ebp - 0x3a4], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x3a4], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x394], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edx, dword [ebp - 0x348]
cmp edx, 0x10
jb 0x424dfe
mov ecx, dword [ebp - 0x35c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424df4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425ae4
push edx
push ecx
call fcn.00461701
add esp, 8
sub esp, 0x18
lea ecx, [ebp - 0x3a4]
mov eax, esp
mov dword [ebp - 0x41c], esp
push 0x3a8
push ecx
push eax
call fcn.00429a60
sub esp, 0xc
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 5
push str.setid
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 6
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424e83
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
push SysReAllocStringLen
mov byte [ebp - 4], 4
call fcn.00417e20
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x378], 0xf
mov byte [ebp - 0x38c], 0
add esp, 0x34
mov byte [ebp - 4], 7
mov edx, esp
lea ecx, [ebp - 0x13c]
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424ef0
sub ecx, edi
lea eax, [ebp - 0x13c]
push ecx
push eax
mov ecx, edx
call fcn.00404d10
lea eax, [ebp - 0x35c]
push eax
call fcn.00441ef0
mov edi, eax
add esp, 0x1c
lea eax, [ebp - 0x38c]
cmp eax, edi
je 0x424fa0
mov edx, dword [ebp - 0x378]
cmp edx, 0x10
jb 0x424f5d
mov ecx, dword [ebp - 0x38c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424f53
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425ae9
push edx
push ecx
call fcn.00461701
add esp, 8
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x378], 0xf
mov byte [ebp - 0x38c], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x38c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x37c], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edx, dword [ebp - 0x348]
cmp edx, 0x10
jb 0x424fda
mov ecx, dword [ebp - 0x35c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424fd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425ae9
push edx
push ecx
call fcn.00461701
add esp, 8
sub esp, 0x18
lea ecx, [ebp - 0x38c]
mov eax, esp
mov dword [ebp - 0x41c], esp
push 0x3a8
push ecx
push eax
call fcn.00429a60
sub esp, 0xc
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 7
push str.ajustid
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 9
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425060
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
push SysReAllocStringLen
mov byte [ebp - 4], 7
call fcn.00417e20
xor eax, eax
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x3f0], 7
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x35c]
push eax
call fcn.00442bf0
lea ecx, [ebp - 0x404]
add esp, 0x54
cmp ecx, eax
je 0x4250f5
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x404], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3f4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x35c]
call fcn.00419810
cmp dword [0x5845d4], 0
jne 0x42530c
sub esp, 0x18
lea eax, [ebp - 0x404]
mov ecx, esp
mov dword [ebp - 0x41c], esp
push eax
call fcn.004196c0
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 8
push str.Fversion
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 0xc
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425190
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
push SysReAllocStringLen
mov byte [ebp - 4], 0xa
call fcn.00417e20
mov edi, 7
mov dword [ebp - 0x34c], 0
xor eax, eax
mov dword [ebp - 0x348], edi
add esp, 0x4c
mov word [ebp - 0x35c], ax
lea eax, [ebp - 0x414]
mov byte [ebp - 4], 0xd
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x40a]
xorps xmm0, xmm0
push eax
movzx eax, word [ebp - 0x40c]
push eax
movzx eax, word [ebp - 0x40e]
push eax
movzx eax, word [ebp - 0x412]
push eax
movzx eax, word [ebp - 0x414]
push eax
push str._04d__02d__02d__02d:_02d
lea eax, [ebp - 0x38]
movq qword [ebp - 0x18], xmm0
push 0x14
push eax
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm0
call fcn.00429a30
add esp, 0x20
cmp eax, 5
jl 0x4252ce
lea ecx, [ebp - 0x38]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425246
sub ecx, edx
lea eax, [ebp - 0x38]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x35c]
call fcn.00416d80
sub esp, 0x18
lea eax, [ebp - 0x35c]
mov ecx, esp
mov dword [ebp - 0x418], esp
push eax
call fcn.004196c0
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x41c], esp
push str.InstallTime
call fcn.00428f80
cmp dword [0x57b2d8], 8
mov eax, 0x57b2c4
mov byte [ebp - 4], 0xf
cmovae eax, dword [0x57b2c4]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00428f80
push SysReAllocStringLen
mov byte [ebp - 4], 0xd
call fcn.00417e20
mov edi, dword [ebp - 0x348]
add esp, 0x4c
mov byte [ebp - 4], 0xa
cmp edi, 8
jb 0x42530c
mov ecx, dword [ebp - 0x35c]
lea edx, [edi*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425302
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425aee
push edx
push ecx
call fcn.00461701
add esp, 8
xor eax, eax
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 7
mov word [ebp - 0x3d4], ax
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x41c], esp
push eax
push 0x53fb10
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 8
push str.Fversion
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 0x12
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4253c0
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
lea eax, [ebp - 0x35c]
mov byte [ebp - 4], 0x10
push SysReAllocStringLen
push eax
call fcn.00417260
lea ecx, [ebp - 0x3d4]
add esp, 0x50
cmp ecx, eax
je 0x425428
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x3d4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x35c]
call fcn.00419810
cmp dword [ebp - 0x3c4], 0
jne 0x42561d
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x41c], esp
push eax
push 0x53fb10
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 8
push str.UserCode
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 0x14
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4254d1
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
lea eax, [ebp - 0x35c]
mov byte [ebp - 4], 0x10
push SysReAllocStringLen
push eax
call fcn.00417260
mov edi, eax
add esp, 0x50
lea eax, [ebp - 0x3d4]
cmp eax, edi
je 0x42557b
mov edx, dword [ebp - 0x3c0]
cmp edx, 8
jb 0x425551
mov ecx, dword [ebp - 0x3d4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425547
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425af3
push edx
push ecx
call fcn.00461701
add esp, 8
movups xmm0, xmmword [edi]
xor eax, eax
movups xmmword [ebp - 0x3d4], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x3c4], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea ecx, [ebp - 0x35c]
call fcn.00419810
sub esp, 0x18
cmp dword [ebp - 0x3c4], 0
mov ecx, esp
mov dword [ebp - 0x418], esp
jne 0x4255c5
lea eax, [ebp - 0x404]
push eax
call fcn.004196c0
sub esp, 0x18
mov byte [ebp - 4], 0x17
mov ecx, esp
mov dword [ebp - 0x41c], esp
push str.Fversion
call fcn.00428f80
mov byte [ebp - 4], 0x18
jmp 0x4255ee
lea eax, [ebp - 0x3d4]
push eax
call fcn.004196c0
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x41c], esp
push str.Fversion
call fcn.00428f80
mov byte [ebp - 4], 0x16
cmp dword [0x57b2d8], 8
mov eax, 0x57b2c4
cmovae eax, dword [0x57b2c4]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00428f80
push SysReAllocStringLen
mov byte [ebp - 4], 0x10
call fcn.00417e20
add esp, 0x4c
sub esp, 0x18
lea eax, [ebp - 0x404]
mov ecx, esp
mov dword [ebp - 0x41c], esp
push eax
call fcn.004196c0
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x420], esp
xor eax, eax
push 0xa
push str.CurrentVer
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
cmp dword [0x57b2d8], 8
mov edx, 0x57b2c4
mov byte [ebp - 4], 0x1a
cmovae edx, dword [0x57b2c4]
sub esp, 0x18
mov edi, esp
mov ecx, edx
xor eax, eax
mov word [edi], ax
lea eax, [ecx + 2]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [ebp - 0x418], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4256a0
sub ecx, dword [ebp - 0x418]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00416d80
push SysReAllocStringLen
mov byte [ebp - 4], 0x10
call fcn.00417e20
add esp, 0x4c
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3a8], 0xf
mov byte [ebp - 0x3bc], 0
push 0
push 0x53ff20
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x1b
call fcn.00429340
mov ecx, eax
mov dword [ebp - 0x41c], ecx
cmp ecx, 0xffffffff
je 0x425854
cmp dword [ebp - 0x360], 0x10
lea edi, [ebp - 0x374]
mov edx, dword [ebp - 0x364]
cmovae edi, dword [ebp - 0x374]
test edx, edx
je 0x42579c
push 0x100
lea eax, [ebp - 0x23c]
push 0
push eax
call fcn.004edf00
mov edx, dword [ebp - 0x364]
add esp, 0xc
mov byte [ebp - 0x20e], 1
lea eax, [edx - 1]
cmp eax, 0xffffffff
cmovb esi, eax
movzx eax, byte [esi + edi]
add esi, edi
mov al, byte [ebp + eax - 0x23c]
test al, al
jne 0x425784
nop word [eax + eax]
cmp esi, edi
je 0x425796
movzx eax, byte [esi - 1]
dec esi
mov al, byte [ebp + eax - 0x23c]
test al, al
je 0x425770
mov ecx, dword [ebp - 0x41c]
sub esi, edi
cmp ecx, esi
je 0x425854
jmp 0x42579f
mov ecx, dword [ebp - 0x41c]
or esi, 0xffffffff
inc ecx
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x348], 0xf
mov byte [ebp - 0x35c], 0
cmp edx, ecx
jb 0x425af8
sub esi, ecx
lea eax, [ebp - 0x374]
sub edx, ecx
cmp edx, esi
cmovb esi, edx
cmp dword [ebp - 0x360], 0x10
push esi
cmovae eax, dword [ebp - 0x374]
add eax, ecx
lea ecx, [ebp - 0x35c]
push eax
call fcn.00404d10
mov edx, dword [ebp - 0x3a8]
cmp edx, 0x10
jb 0x425829
mov ecx, dword [ebp - 0x3bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42581f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
cmp dword [ebp - 0x34c], 0x14
movups xmm0, xmmword [ebp - 0x35c]
movups xmmword [ebp - 0x3bc], xmm0
movq xmm0, qword [ebp - 0x34c]
movq qword [ebp - 0x3ac], xmm0
ja 0x4258d4
cmp dword [ebp - 0x3a8], 0x10
lea eax, [ebp - 0x3bc]
push str.update
cmovae eax, dword [ebp - 0x3bc]
push eax
call fcn.004fef33
add esp, 8
test eax, eax
je 0x4258d4
sub esp, 0x18
lea ecx, [ebp - 0x3bc]
mov eax, esp
mov dword [ebp - 0x418], esp
push 0x3a8
push ecx
push eax
call fcn.00429a60
sub esp, 0xc
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp - 0x41c], esp
push str.customid
call fcn.00428f80
sub esp, 0x18
mov byte [ebp - 4], 0x1d
mov ecx, esp
push 0x57b2c4
call fcn.004196c0
push SysReAllocStringLen
mov byte [ebp - 4], 0x1b
call fcn.00417e20
add esp, 0x4c
mov edx, dword [ebp - 0x3a8]
cmp edx, 0x10
jb 0x42590e
mov ecx, dword [ebp - 0x3bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425904
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3a8], 0xf
mov byte [ebp - 0x3bc], 0
cmp edx, 8
jb 0x425969
mov ecx, dword [ebp - 0x3d4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42595f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x3f0]
cmp edx, 8
jb 0x4259a9
mov ecx, dword [ebp - 0x404]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42599f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x378]
cmp edx, 0x10
jb 0x4259e3
mov ecx, dword [ebp - 0x38c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4259d9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x390]
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x378], 0xf
mov byte [ebp - 0x38c], 0
cmp edx, 0x10
jb 0x425a38
mov ecx, dword [ebp - 0x3a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425a2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x360]
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x390], 0xf
mov byte [ebp - 0x3a4], 0
cmp edx, 0x10
jb 0x425a89
mov ecx, dword [ebp - 0x374]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425a7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425afd
push edx
push ecx
call fcn.00461701
add esp, 8
mov edx, dword [ebp - 0x3ec]
mov edi, dword [ebp - 0x3d8]
cmp edi, 0x10
jb 0x425abf
inc edi
mov eax, edx
cmp edi, 0x1000
jb 0x425ab5
mov edx, dword [edx - 4]
add edi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425b02
push edi
push edx
call fcn.00461701
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046170f
mov esp, ebp
pop ebp
ret
call fcn.00403550
call fcn.00404fd0
call fcn.004f6f4a
call fcn.004f6f4a
call fcn.004f6f4a
call fcn.004f6f4a
call fcn.00403550
call fcn.004f6f4a
call fcn.004f6f4a
int3