Function at 0x10060a40
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
push 0x20
call fcn.10101428
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x1013944c
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 6
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
push 0x10d
call fcn.10101428
add esp, 4
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, 0x10161d8b
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x105
rep stosb byte es:[edi], al
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov ecx, 6
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.10101428
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
mov dword [edi], 6
add edi, 4
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.10001069
pop edx
test ecx, ecx
je 0x10060b33
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x10060b29
push ebx
call fcn.10101422
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x10060b18
pop edx
pop edi
test edx, edx
je 0x10060b41
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp + 0xc]
push dword [ebx]
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov dword [ebp - 0x34], esp
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x10060b87
push 0x3f
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jge 0x10060c47
mov eax, dword [ebp - 8]
push eax
mov ebx, eax
call fcn.10001069
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.10101428
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x10060bef
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x10060be3
push eax
mov ebx, eax
call fcn.100026e7
inc eax
push eax
call fcn.10101428
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x10060bc6
pop eax
push eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x10060c10
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x10060c0c
imul eax, dword [ebx]
jmp 0x10060c01
mov ecx, eax
test ecx, ecx
je 0x10060c2f
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10060c28
push ebx
push eax
call fcn.10101422
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10060c16
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov eax, 0x1010b29a
jmp 0x100616de
inc dword [ebp - 4]
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x1bc
call fcn.10102410
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x10060c7d
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x34], esp
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x10060c8e
add eax, 8
push eax
push dword [ebp - 4]
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x10060cc2
push 0x15f
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x14], 0
jne 0x10060cd3
cmp dword [ebp - 0x10], 0
jne 0x10060d8c
mov eax, dword [ebp - 8]
push eax
mov ebx, eax
call fcn.10001069
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.10101428
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x10060d34
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x10060d28
push eax
mov ebx, eax
call fcn.100026e7
inc eax
push eax
call fcn.10101428
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x10060d0b
pop eax
push eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x10060d55
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x10060d51
imul eax, dword [ebx]
jmp 0x10060d46
mov ecx, eax
test ecx, ecx
je 0x10060d74
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10060d6d
push ebx
push eax
call fcn.10101422
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10060d5b
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov eax, 0x1010b29a
jmp 0x100616de
mov dword [ebp - 0x34], esp
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
push str.VarFileInfoTranslation
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x10060da6
add eax, 8
push eax
call dword [sym.imp.VERSION.dll_VerQueryValueA]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x10060dcd
push 0x21c
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x14], 0
jne 0x10060dde
cmp dword [ebp - 0x10], 0
jne 0x10060e97
mov eax, dword [ebp - 8]
push eax
mov ebx, eax
call fcn.10001069
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.10101428
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x10060e3f
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x10060e33
push eax
mov ebx, eax
call fcn.100026e7
inc eax
push eax
call fcn.10101428
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x10060e16
pop eax
push eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x10060e60
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x10060e5c
imul eax, dword [ebx]
jmp 0x10060e51
mov ecx, eax
test ecx, ecx
je 0x10060e7f
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10060e78
push ebx
push eax
call fcn.10101422
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10060e66
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov eax, 0x1010b29a
jmp 0x100616de
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 0
cmp eax, ecx
jl 0x10060ebf
push 0x2d5
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov eax, 0x10161d24
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10060edf
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 1
cmp eax, ecx
jl 0x10060f0d
push 0x306
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov eax, str.InternalName
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10060f2d
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 2
cmp eax, ecx
jl 0x10060f5b
push 0x338
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov eax, 0x10161d3d
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10060f7b
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 3
cmp eax, ecx
jl 0x10060fa9
push 0x369
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov eax, 0x10161d49
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10060fc9
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 4
cmp eax, ecx
jl 0x10060ff7
push 0x39d
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov eax, 0x10161d58
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x10061017
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10047597
mov dword [ebp - 0x34], eax
push dword [ebp - 4]
push dword [ebp - 0x18]
push dword [ebp - 0x34]
call fcn.1000e9fd
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 2
cmp eax, ecx
jl 0x1006105f
push 0x426
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 3
cmp eax, ecx
jl 0x1006108c
push 0x445
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fmul qword [0x10161d68]
fstp qword [ebp - 0x48]
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 0
cmp eax, ecx
jl 0x100610d8
push 0x46e
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x10161a8a]
fstp qword [ebp - 0x5c]
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 1
cmp eax, ecx
jl 0x10061124
push 0x497
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x68]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
fmul qword [0x10161d70]
fstp qword [ebp - 0x70]
mov ebx, dword [ebp - 0x34]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x78]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fadd qword [ebp - 0x48]
fadd qword [ebp - 0x5c]
fadd qword [ebp - 0x70]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.1000144d
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 0
cmp eax, ecx
jl 0x1006119d
push 0x4ed
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x1c]
call fcn.10001069
mov eax, 1
cmp eax, ecx
jl 0x100611ca
push 0x50c
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fmul qword [0x10161d68]
fstp qword [ebp - 0x48]
mov ebx, dword [ebp - 0x34]
mov al, byte [ebx]
and eax, 0xff
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x50]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x58]
push 0x80000601
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 1
mov ebx, 0x9e0
call fcn.10103f40
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
push 0x80000301
push 0
push dword [ebp - 0x20]
push 1
mov ebx, 0x1d4
call fcn.10105040
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x10061260
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10061277
mov eax, 0x1010b29a
push eax
push 1
mov ebx, 0x130
call fcn.10102e60
add esp, 0x10
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 8
jge 0x100612c9
push dword [ebp - 0x24]
push 0x10161d78
mov ecx, 2
call fcn.1000c488
add esp, 8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x100612c3
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
jmp 0x10061264
push 0x80000301
push 0
push 0x105
push 1
mov ebx, 0x184
call fcn.10102690
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x100612fe
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], esp
push 0xff
push dword [ebp - 0x28]
push dword [ebp - 0x14]
call dword [0x102bdc3f]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x10061336
push 0x666
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 5
cmp eax, ecx
jl 0x10061365
push 0x691
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x10061380
mov eax, 0x1010b29a
push eax
push 1
mov ebx, 0x174
call fcn.10103fe0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100613ac
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov eax, 0x1010b29a
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x100613c8
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
mov ebx, eax
mov ecx, 1
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 5
jg 0x100615df
push 0x80000301
push 0
push 0x105
push 1
mov ebx, 0x184
call fcn.10102690
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x10061418
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x10061443
push 0x76f
push 0x4242b90
push 4
call fcn.1010142e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x10061460
push 0x76f
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x34]
push dword [ebx]
push 0x101393b8
push dword [ebp - 0x24]
push str.StringFileInfo_
mov ecx, 4
call fcn.1000c488
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x1006149e
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], esp
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x100614ba
add eax, 8
push eax
call dword [sym.imp.VERSION.dll_VerQueryValueA]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x100614e1
push 0x7ce
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x14], 0
jne 0x100614f2
cmp dword [ebp - 0x10], 0
je 0x1006152c
mov dword [ebp - 0x34], esp
push dword [ebp - 0x18]
push dword [ebp - 0x30]
call dword [0x102bdc43]
nop
nop
nop
nop
cmp dword [ebp - 0x34], esp
je 0x10061527
push 0x834
push 0x4242b90
push 6
call fcn.1010142e
add esp, 0xc
jmp 0x10061546
mov eax, 0x1010b29a
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x10061542
push ebx
call fcn.10101422
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x1006156d
push 0x877
push 0x4242b90
push 4
call fcn.1010142e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x1006158a
push 0x877
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x100615a5
mov eax, 0x1010b29a
push eax
push 1
mov ebx, 0x174
call fcn.10103fe0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x100615d1
push ebx
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
pop ebx
pop ecx
inc ecx
jmp 0x100613d6
add esp, 8
mov eax, dword [ebp - 8]
push eax
mov ebx, eax
call fcn.10001069
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.10101428
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x1006163d
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x10061631
push eax
mov ebx, eax
call fcn.100026e7
inc eax
push eax
call fcn.10101428
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x10061614
pop eax
push eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x1006165e
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x1006165a
imul eax, dword [ebx]
jmp 0x1006164f
mov ecx, eax
test ecx, ecx
je 0x1006167d
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10061676
push ebx
push eax
call fcn.10101422
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10061664
call fcn.10101422
add esp, 4
pop eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.10001069
mov eax, 0
cmp eax, ecx
jl 0x100616b3
push 0x8e7
push 0x4242b90
push 1
call fcn.1010142e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebx]
test eax, eax
je 0x100616d9
push eax
mov ebx, eax
call fcn.100026e7
inc eax
push eax
call fcn.10101428
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x100616de
push eax
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x100616fd
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x100616f9
imul eax, dword [ebx]
jmp 0x100616ee
mov ecx, eax
test ecx, ecx
je 0x1006171c
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x10061715
push ebx
push eax
call fcn.10101422
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x10061703
call fcn.10101422
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x10061734
push ebx
call fcn.10101422
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
call fcn.10101422
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x10061750
push ebx
call fcn.10101422
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10061760
push ebx
call fcn.10101422
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x10061770
push ebx
call fcn.10101422
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc