Function at 0x1003a7c4
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0xc8]
sub esp, 0x148
mov eax, dword [0x101b6f10]
push ebx
xor ebx, ebx
push 0x248
mov dword [ebp + 0xc4], eax
mov dword [0x10a0b310], ebx
mov dword [0x10a0b230], ebx
call fcn.10157b9f
cmp eax, ebx
pop ecx
je 0x1003a804
mov ecx, eax
call fcn.1014227e
jmp 0x1003a806
xor eax, eax
mov dword [0x10a0b230], eax
call fcn.1013dced
push 1
mov ecx, 0x10a0c0c0
call fcn.1013e7d8
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
mov byte [0x10a0b314], bl
call fcn.10001141
xor eax, eax
cmp dword [ebp - 0x74], ebx
pop ecx
setne al
pop ecx
mov dword [0x10a05a18], eax
mov eax, dword [ebp - 0x70]
cmp eax, ebx
mov dword [0x10a059f4], eax
jne 0x1003a851
push 0x10183744
jmp 0x1003a87a
cmp eax, 1
jne 0x1003a85d
push 0x10183740
jmp 0x1003a87a
cmp eax, 4
jne 0x1003a869
push str.japanese
jmp 0x1003a87a
cmp eax, 5
jne 0x1003a875
push str.chinese_traditional
jmp 0x1003a87a
push str.English
push ebx
call fcn.1015c1e8
pop ecx
pop ecx
push esi
push edi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 4]
push eax
push str._s__s
push dword [ebp + 0xd8]
mov dword [0x10a0b434], ebx
mov byte [0x10a0b438], bl
call fcn.101586c5
add esp, 0x10
lea eax, [ebp - 0x7c]
push eax
mov esi, str.HTLauncher.exe
push esi
call sub.VERSION.dll_GetFileVersionInfoSizeA
push eax
mov dword [ebp - 0x78], eax
call fcn.10157e87
mov edi, eax
cmp edi, ebx
pop ecx
je 0x1003a93a
push edi
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push esi
call sub.VERSION.dll_GetFileVersionInfoA
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0x10180e60
push edi
call sub.VERSION.dll_VerQueryValueA
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax + 0xc]
push ecx
movzx ecx, word [eax + 0xe]
push ecx
movzx ecx, word [eax + 8]
movzx eax, word [eax + 0xa]
push ecx
push eax
lea eax, [ebp + 0x60]
push str._u._u._u._u
push eax
call fcn.101583b9
push edi
call fcn.10157e99
push 0x10a059de
push 0x10a059dc
push 0x10a059da
push 0x10a059d8
lea eax, [ebp + 0x60]
push str._d._d._d._d
push eax
call fcn.101586c5
add esp, 0x34
call fcn.101341ad
push 0x4b4
call fcn.10157b9f
cmp eax, ebx
pop ecx
je 0x1003a957
mov ecx, eax
call fcn.10054f39
jmp 0x1003a959
xor eax, eax
push dword [ebp + 0xdc]
mov ecx, eax
push dword [ebp + 0xd8]
mov dword [0x10a0b348], eax
push dword [ebp + 0xd4]
push dword [ebp + 0xd0]
call fcn.1005508a
push 0xdae8
mov esi, eax
mov dword [0x10a0b234], ebx
call fcn.10157b9f
cmp eax, ebx
pop ecx
je 0x1003a99d
mov ecx, eax
call fcn.1013d7cf
jmp 0x1003a99f
xor eax, eax
mov ecx, eax
mov dword [0x10a0b234], eax
call fcn.10056733
cmp esi, ebx
jne 0x1003aa25
mov ecx, dword [0x10a0b348]
call fcn.100551df
mov edi, 0x3de
jmp 0x1003aa03
cmp ecx, ebx
je 0x1003a9d9
mov esi, ecx
call fcn.101479a3
push esi
call fcn.101594b4
pop ecx
mov dword [0x10a0b35c], ebx
mov ecx, dword [0x10a0b348]
call fcn.10134b13
mov ecx, dword [0x10a0b348]
call fcn.10055363
cmp byte [0x10a059e1], 3
je 0x1003aa25
mov ecx, dword [0x10a0b348]
call fcn.100551df
cmp eax, edi
mov ecx, dword [0x10a0b35c]
jne 0x1003a9c1
cmp ecx, ebx
je 0x1003aa25
mov esi, ecx
call fcn.101479a3
push esi
call fcn.101594b4
pop ecx
mov dword [0x10a0b35c], ebx
mov ecx, dword [0x10a0b234]
cmp ecx, ebx
je 0x1003aa43
mov esi, ecx
call fcn.10056733
push esi
call fcn.101594b4
pop ecx
mov dword [0x10a0b234], ebx
mov ecx, dword [0x10a0b348]
call fcn.1005647c
mov ecx, dword [0x10a0b348]
cmp ecx, ebx
pop edi
pop esi
je 0x1003aa66
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x10a0b348], ebx
mov ecx, dword [ebp + 0xc4]
xor eax, eax
pop ebx
call fcn.101581be
add ebp, 0xc8
leave
ret 0x10