Function at 0x4247b0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532e79
mov eax, dword fs:[0]
push eax
sub esp, 0x414
mov eax, dword [0x57b270]
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 [0x584544], eax
je 0x424851
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 [0x57b248], 8
mov edx, 0x57b234
mov dword [ebp - 4], 0
cmovae edx, dword [0x57b234]
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 0x424844
jmp 0x4248bd
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 [0x57b248], 8
mov edx, 0x57b234
mov dword [ebp - 4], 1
cmovae edx, dword [0x57b234]
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 0x4248b2
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.004ed350
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 0x4249e0
inc eax
push eax
call fcn.00460bdd
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 0x4249d7
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x418]
push eax
push 0x53fd0c
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x4249d7
push 0x104
lea eax, [ebp - 0x240]
push 0
push eax
call fcn.004ed350
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 0x53fd10
push eax
call fcn.00428b10
push esi
call fcn.00460be6
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 0x4249c0
jmp 0x4249e0
push esi
call fcn.00460be6
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 0x424a04
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 0x42595f
dec eax
or esi, 0xffffffff
cmp eax, esi
mov ecx, esi
cmovb ecx, eax
add ecx, edi
cmp byte [ecx], 0x5c
je 0x424a6e
nop dword [eax]
cmp ecx, edi
je 0x42595f
dec ecx
cmp byte [ecx], 0x5c
jne 0x424a60
sub ecx, edi
cmp ecx, 0xffffffff
je 0x42595f
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 0x4259aa
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 0x424aee
push edi
push eax
lea eax, [ebp - 0x374]
mov dword [ebp - 0x364], edi
push eax
call fcn.004ecdd0
mov byte [ebp + edi - 0x374], 0
mov edi, dword [ebp - 0x374]
jmp 0x424b61
cmp edi, 0x7fffffff
ja 0x4259af
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x424b0d
mov eax, SysReAllocString
jmp 0x424b17
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.004ec850
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.004ed350
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 0x424b92
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 0x424be0
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.0043fd10
mov edi, eax
add esp, 0x1c
lea eax, [ebp - 0x3a4]
cmp eax, edi
je 0x424c94
mov edx, dword [ebp - 0x390]
cmp edx, 0x10
jb 0x424c51
mov ecx, dword [ebp - 0x3a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424c47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259b4
push edx
push ecx
call fcn.00460b61
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 0x424cce
mov ecx, dword [ebp - 0x35c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424cc4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259b4
push edx
push ecx
call fcn.00460b61
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.00428b90
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 6
cmovae edx, dword [0x57b234]
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 0x424d53
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 0x424dc0
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.00441170
mov edi, eax
add esp, 0x1c
lea eax, [ebp - 0x38c]
cmp eax, edi
je 0x424e70
mov edx, dword [ebp - 0x378]
cmp edx, 0x10
jb 0x424e2d
mov ecx, dword [ebp - 0x38c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424e23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259b9
push edx
push ecx
call fcn.00460b61
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 0x424eaa
mov ecx, dword [ebp - 0x35c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424ea0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259b9
push edx
push ecx
call fcn.00460b61
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.00428b90
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 9
cmovae edx, dword [0x57b234]
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 0x424f30
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.00441e70
lea ecx, [ebp - 0x404]
add esp, 0x54
cmp ecx, eax
je 0x424fc5
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 [0x584550], 0
jne 0x4251dc
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 0xc
cmovae edx, dword [0x57b234]
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 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], 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.00428b50
add esp, 0x20
cmp eax, 5
jl 0x42519e
lea ecx, [ebp - 0x38]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425116
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.00428150
cmp dword [0x57b248], 8
mov eax, 0x57b234
mov byte [ebp - 4], 0xf
cmovae eax, dword [0x57b234]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00428150
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 0x4251dc
mov ecx, dword [ebp - 0x35c]
lea edx, [edi*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4251d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259be
push edx
push ecx
call fcn.00460b61
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 0x53f9e0
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 0x12
cmovae edx, dword [0x57b234]
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 0x425290
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 0x4252f8
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 0x4254ed
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x41c], esp
push eax
push 0x53f9e0
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 0x14
cmovae edx, dword [0x57b234]
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 0x4253a1
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 0x42544b
mov edx, dword [ebp - 0x3c0]
cmp edx, 8
jb 0x425421
mov ecx, dword [ebp - 0x3d4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425417
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259c3
push edx
push ecx
call fcn.00460b61
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 0x425495
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.00428150
mov byte [ebp - 4], 0x18
jmp 0x4254be
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.00428150
mov byte [ebp - 4], 0x16
cmp dword [0x57b248], 8
mov eax, 0x57b234
cmovae eax, dword [0x57b234]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00428150
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 [0x57b248], 8
mov edx, 0x57b234
mov byte [ebp - 4], 0x1a
cmovae edx, dword [0x57b234]
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 0x425570
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 0x53fe0c
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x1b
call fcn.00428510
mov ecx, eax
mov dword [ebp - 0x41c], ecx
cmp ecx, 0xffffffff
je 0x425724
cmp dword [ebp - 0x360], 0x10
lea edi, [ebp - 0x374]
mov edx, dword [ebp - 0x364]
cmovae edi, dword [ebp - 0x374]
test edx, edx
je 0x42566c
push 0x100
lea eax, [ebp - 0x23c]
push 0
push eax
call fcn.004ed350
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 0x425654
nop word [eax + eax]
cmp esi, edi
je 0x425666
movzx eax, byte [esi - 1]
dec esi
mov al, byte [ebp + eax - 0x23c]
test al, al
je 0x425640
mov ecx, dword [ebp - 0x41c]
sub esi, edi
cmp ecx, esi
je 0x425724
jmp 0x42566f
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 0x4259c8
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 0x4256f9
mov ecx, dword [ebp - 0x3bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4256ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
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 0x4257a4
cmp dword [ebp - 0x3a8], 0x10
lea eax, [ebp - 0x3bc]
push str.update
cmovae eax, dword [ebp - 0x3bc]
push eax
call fcn.004fe383
add esp, 8
test eax, eax
je 0x4257a4
sub esp, 0x18
lea ecx, [ebp - 0x3bc]
mov eax, esp
mov dword [ebp - 0x418], esp
push 0x3a8
push ecx
push eax
call fcn.00428b90
sub esp, 0xc
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp - 0x41c], esp
push str.customid
call fcn.00428150
sub esp, 0x18
mov byte [ebp - 4], 0x1d
mov ecx, esp
push 0x57b234
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 0x4257de
mov ecx, dword [ebp - 0x3bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4257d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
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 0x425839
mov ecx, dword [ebp - 0x3d4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42582f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
add esp, 8
mov edx, dword [ebp - 0x3f0]
cmp edx, 8
jb 0x425879
mov ecx, dword [ebp - 0x404]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42586f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
add esp, 8
mov edx, dword [ebp - 0x378]
cmp edx, 0x10
jb 0x4258b3
mov ecx, dword [ebp - 0x38c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4258a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
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 0x425908
mov ecx, dword [ebp - 0x3a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4258fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
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 0x425959
mov ecx, dword [ebp - 0x374]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42594f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259cd
push edx
push ecx
call fcn.00460b61
add esp, 8
mov edx, dword [ebp - 0x3ec]
mov edi, dword [ebp - 0x3d8]
cmp edi, 0x10
jb 0x42598f
inc edi
mov eax, edx
cmp edi, 0x1000
jb 0x425985
mov edx, dword [edx - 4]
add edi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4259d2
push edi
push edx
call fcn.00460b61
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.00460b6f
mov esp, ebp
pop ebp
ret
call fcn.00403550
call fcn.00404fd0
call fcn.004f639a
call fcn.004f639a
call fcn.004f639a
call fcn.004f639a
call fcn.00403550
call fcn.004f639a
call fcn.004f639a
int3