Function at 0x103afa5
Capabilities:
Get file version info

Disassembly:
push 0x354
mov eax, 0x10cd4f9
call fcn.010b53c2
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x18], 8
mov dword [ebp - 0x23c], edi
lea ebx, [esi + 4]
jb 0x103afcb
mov eax, dword [ebx]
jmp 0x103afcd
mov eax, ebx
lea ecx, [ebp - 0x23c]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x238], eax
cmp eax, edi
jne 0x103b08a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 7
lea ecx, [ebp - 0x254]
mov esi, eax
call fcn.01033bfc
push esi
lea eax, [ebp - 0x360]
push eax
mov dword [ebp - 4], edi
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x30c]
push 0x1003874
push eax
mov byte [ebp - 4], 1
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 2
call fcn.01033bb7
push edi
push 1
lea ecx, [ebp - 0x30c]
call fcn.01032f16
push edi
push 1
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0
call fcn.01032f16
push 0x10037a8
lea ecx, [ebp - 0x254]
call fcn.01033c5d
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x2b8]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x2b8]
push eax
call fcn.010b4e4c
push eax
call fcn.010b35ad
pop ecx
mov ecx, dword [ebp - 0x238]
mov dword [esi + 0x1ec], eax
mov byte [eax], 0
inc eax
dec ecx
jne 0x103b09d
cmp dword [esi + 0x18], 8
jb 0x103b0ac
mov ebx, dword [ebx]
push dword [esi + 0x1ec]
push dword [ebp - 0x238]
push dword [ebp - 0x23c]
push ebx
call sub.VERSION.dll_GetFileVersionInfoW
cmp eax, edi
jne 0x103b171
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 7
lea ecx, [ebp - 0x27c]
mov esi, eax
call fcn.01033bfc
push esi
lea eax, [ebp - 0x344]
push eax
mov dword [ebp - 4], 3
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x2d4]
push 0x100377c
push eax
mov byte [ebp - 4], 4
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 5
call fcn.01033bb7
push edi
push 1
lea ecx, [ebp - 0x2d4]
call fcn.01032f16
push edi
push 1
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 3
call fcn.01032f16
push 0x1003720
lea ecx, [ebp - 0x27c]
call fcn.01033c5d
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x290]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x290]
jmp 0x103b084
lea eax, [ebp - 0x240]
push eax
lea ebx, [esi + 0x1f0]
push ebx
push 0x1002650
push dword [esi + 0x1ec]
mov dword [ebp - 0x240], edi
call sub.VERSION.dll_VerQueryValueW
cmp eax, edi
jne 0x103b242
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push 7
lea ecx, [ebp - 0x268]
mov esi, eax
call fcn.01033bfc
push esi
lea eax, [ebp - 0x328]
push eax
mov dword [ebp - 4], 6
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x2f0]
push 0x10036fc
push eax
mov byte [ebp - 4], 7
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 8
call fcn.01033bb7
push edi
push 1
lea ecx, [ebp - 0x2f0]
call fcn.01032f16
push edi
push 1
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 6
call fcn.01032f16
push 0x1003648
lea ecx, [ebp - 0x268]
call fcn.01033c5d
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x2a4]
jmp 0x103b084
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x20], ecx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x40], ecx
mov eax, dword [eax + 0x14]
mov dword [esi + 0x44], eax
movzx eax, word [esi + 0x20]
push eax
movzx eax, word [esi + 0x22]
push eax
movzx eax, word [esi + 0x1c]
push eax
movzx eax, word [esi + 0x1e]
push eax
mov ebx, 0x100362c
push ebx
mov edi, 0x100
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x1c
lea eax, [ebp - 0x210]
push eax
lea ecx, [esi + 0x24]
call fcn.0103389a
movzx eax, word [esi + 0x44]
push eax
movzx eax, word [esi + 0x46]
push eax
movzx eax, word [esi + 0x40]
push eax
movzx eax, word [esi + 0x42]
push eax
push ebx
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x1c
lea eax, [ebp - 0x210]
push eax
lea ecx, [esi + 0x48]
call fcn.0103389a
lea ecx, [ebp - 0x22c]
call fcn.01033230
movzx eax, word [esi + 0x46]
push 0x64
xor edx, edx
pop ecx
div ecx
mov dword [ebp - 4], 9
lea eax, [edx - 1]
cmp eax, 0xb
ja case.default.0x103b2f3
jmp dword [eax*4 + 0x103b6b1]
push 0x1003624
jmp 0x103b353
push 0x100361c
jmp 0x103b353
push 0x1003614
jmp 0x103b353
push 0x100360c
jmp 0x103b353
push 0x1003604
jmp 0x103b353
push 0x10035fc
jmp 0x103b353
push 0x10035f4
jmp 0x103b353
push 0x10035ec
jmp 0x103b353
push 0x10035e4
jmp 0x103b353
push 0x10035dc
jmp 0x103b353
push 0x10035d4
jmp 0x103b353
push 0x10035cc
jmp 0x103b353
push 0x10035c4
lea ecx, [ebp - 0x22c]
call fcn.0103389a
movzx eax, word [esi + 0x42]
push 0x64
pop ecx
xor edx, edx
div ecx
mov ebx, 0x10035b8
push edx
push eax
push ebx
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x14
lea eax, [ebp - 0x210]
lea ecx, [esi + 0x160]
push eax
call fcn.0103389a
mov eax, dword [esi + 0x40]
push 0x64
pop ecx
and eax, 0xffff
xor edx, edx
div ecx
push edx
push eax
push ebx
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x14
lea eax, [ebp - 0x210]
lea ecx, [esi + 0x17c]
push eax
call fcn.0103389a
cmp dword [ebp - 0x214], 8
mov ecx, dword [ebp - 0x228]
jae 0x103b3dc
lea ecx, [ebp - 0x228]
movzx eax, word [esi + 0x46]
push 0x64
pop ebx
xor edx, edx
div ebx
xor edx, edx
push eax
movzx eax, word [esi + 0x44]
div ebx
push eax
push ecx
push 0x100359c
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x18
lea eax, [ebp - 0x210]
lea ecx, [esi + 0x198]
push eax
call fcn.0103389a
movzx eax, word [esi + 0x44]
push ebx
pop ecx
xor edx, edx
div ecx
lea eax, [ebp - 0x210]
push edx
push 0x1003594
push edi
push eax
call fcn.010b7a02
add esp, 0x10
lea eax, [ebp - 0x210]
lea ebx, [esi + 0x1b4]
push eax
mov ecx, ebx
call fcn.0103389a
push 8
pop edx
cmp dword [ebx + 0x18], edx
jb 0x103b460
mov eax, dword [ebx + 4]
mov dword [ebp - 0x238], eax
jmp 0x103b469
add ebx, 4
mov dword [ebp - 0x238], ebx
lea eax, [esi + 0x198]
cmp dword [eax + 0x18], edx
jb 0x103b479
mov ebx, dword [eax + 4]
jmp 0x103b47c
lea ebx, [eax + 4]
lea ecx, [esi + 0x17c]
cmp dword [ecx + 0x18], edx
jb 0x103b48c
mov eax, dword [ecx + 4]
jmp 0x103b48f
lea eax, [ecx + 4]
lea ecx, [esi + 0x160]
cmp dword [ecx + 0x18], edx
jb 0x103b49f
mov ecx, dword [ecx + 4]
jmp 0x103b4a2
add ecx, 4
push dword [ebp - 0x238]
push ebx
push eax
push ecx
push 0x1003540
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.010b7a02
add esp, 0x1c
lea eax, [ebp - 0x210]
push eax
lea ecx, [esi + 0x1d0]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x10034f0
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b502
push dword [ebp - 0x230]
lea ecx, [esi + 0x64]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x10034a0
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b535
push dword [ebp - 0x230]
lea ecx, [esi + 0x80]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x1003458
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b568
push dword [ebp - 0x230]
lea ecx, [esi + 0x9c]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x1003408
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b59b
push dword [ebp - 0x230]
lea ecx, [esi + 0xb8]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x10033b8
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b5ce
push dword [ebp - 0x230]
lea ecx, [esi + 0xd4]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x1003360
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b601
push dword [ebp - 0x230]
lea ecx, [esi + 0xf0]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x1003308
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b634
push dword [ebp - 0x230]
lea ecx, [esi + 0x10c]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x10032b8
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b667
push dword [ebp - 0x230]
lea ecx, [esi + 0x128]
call fcn.0103389a
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x1003268
push dword [esi + 0x1ec]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x103b69a
push dword [ebp - 0x230]
lea ecx, [esi + 0x144]
call fcn.0103389a
push 0
push 1
lea ecx, [ebp - 0x22c]
call fcn.01032f16
call fcn.010b5454
ret