Function at 0x44a6a0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4a90a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov al, byte [esp + 0xa8]
xor ebx, ebx
cmp al, 0x80
mov dword [esp + 0x98], ebx
jne 0x44aee7
cmp byte [ebp + 0xec], bl
jne 0x44aee7
lea ecx, [esp + 0xa0]
call sub.MFC42.DLL_CString::MakeUpper
lea esi, [ebp + 0x124]
push str.JS29F32B08JATE1
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
mov edi, dword [esp + 0xa4]
cmp eax, 0xffffffff
jne 0x44a731
push str.JS29F16B08CATE1
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44a731
push str.JS29F64G08AATE1
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44a747
mov eax, dword [ebp + 0x110]
test ah, 0x61
jne 0x44a740
test al, 0x40
je 0x44a747
mov byte [edi + 0x27ef], 0x80
test byte [ebp + 0x15c], 2
je 0x44a766
cmp byte [ebp + 0x34], 2
jb 0x44a766
test byte [ebp + 0x110], 8
je 0x44a766
mov byte [edi + 0x27ef], 0x80
cmp byte [ebp + 0x24], 0x90
jne 0x44aa19
cmp byte [ebp + 0xec], bl
jne 0x44aa76
push str.H27UCG8T2MYR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44a7a2
push str.H27UBG8T2BTR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44aa19
mov al, 6
mov dl, 0xb1
mov cl, 0xc9
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], 0xa
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], 0x80
mov byte [esp + 0x2d], 0xfd
mov byte [esp + 0x2e], 0xf9
mov byte [esp + 0x2f], pe_nt_image_headers32
mov byte [esp + 0x30], 0x80
mov byte [esp + 0x31], 0xfa
mov byte [esp + 0x32], 0xf3
mov byte [esp + 0x33], 0xf1
mov byte [esp + 0x34], 0x80
mov byte [esp + 0x35], 0xf5
mov byte [esp + 0x36], 0xec
mov byte [esp + 0x37], 0xe9
mov byte [esp + 0x38], 0x80
mov byte [esp + 0x39], 0x80
mov byte [esp + 0x3a], 0xe6
mov byte [esp + 0x3b], 0xe2
mov byte [esp + 0x3c], 0x80
mov byte [esp + 0x3d], 0x80
mov byte [esp + 0x3e], 0xe0
mov byte [esp + 0x3f], 0xdb
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], bl
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x50], 0xac
mov byte [esp + 0x51], 0xad
mov byte [esp + 0x52], 0xae
mov byte [esp + 0x53], 0xaf
mov byte [esp + 0x54], al
mov byte [esp + 0x55], 0x25
mov byte [esp + 0x56], 1
mov byte [esp + 0x57], 0xa4
mov byte [esp + 0x58], 0xa5
mov byte [esp + 0x59], 0xb0
mov byte [esp + 0x5a], dl
mov byte [esp + 0x5b], cl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], 0xa
mov byte [esp + 0x5f], al
mov byte [esp + 0x60], 0x80
mov byte [esp + 0x61], 0xfd
mov byte [esp + 0x62], 0xf9
mov byte [esp + 0x63], pe_nt_image_headers32
mov byte [esp + 0x64], 0x80
mov byte [esp + 0x65], 0xfa
mov byte [esp + 0x66], 0xf3
mov byte [esp + 0x67], 0xf1
mov byte [esp + 0x68], 0x80
mov byte [esp + 0x69], 0xf7
mov byte [esp + 0x6a], 0xec
mov byte [esp + 0x6b], 0xe9
mov byte [esp + 0x6c], 0x80
mov byte [esp + 0x6d], 0x80
mov byte [esp + 0x6e], 0xe6
mov byte [esp + 0x6f], 0xe2
mov byte [esp + 0x70], 0x80
mov byte [esp + 0x71], 0x80
mov byte [esp + 0x72], 0xe0
mov byte [esp + 0x73], 0xdb
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x8f], cl
push str.H27UCG8T2MYR
mov ecx, esi
mov byte [esp + 0x7a], bl
mov byte [esp + 0x7b], bl
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], bl
mov byte [esp + 0x7e], bl
mov byte [esp + 0x7f], bl
mov byte [esp + 0x80], bl
mov byte [esp + 0x81], bl
mov byte [esp + 0x82], bl
mov byte [esp + 0x83], bl
mov byte [esp + 0x84], bl
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov byte [esp + 0x88], 0xa7
mov byte [esp + 0x89], 0xad
mov byte [esp + 0x8a], 0xae
mov byte [esp + 0x8b], 0xaf
mov byte [esp + 0x8c], al
mov byte [esp + 0x8d], 0x26
mov byte [esp + 0x8e], 1
mov byte [esp + 0x8f], 0xa0
mov byte [esp + 0x90], 0xa1
mov byte [esp + 0x91], 0xb0
mov byte [esp + 0x92], dl
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44a9e9
mov eax, dword [esp + 0xa4]
mov ecx, 0xd
lea esi, [esp + 0x28]
lea edi, [eax + 0x2fc0]
jmp 0x44aa10
push str.H27UBG8T2BTR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44aa19
mov ecx, dword [esp + 0xa4]
lea esi, [esp + 0x5c]
lea edi, [ecx + 0x2fc0]
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xa4]
cmp byte [ebp + 0xec], bl
jne 0x44aa76
lea esi, [ebp + 0x124]
push str.H27UCG8T2ATR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44aa5a
push str.H27UBG8T2CTR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44aa5a
push str.H27UAG8T2CTR
mov ecx, esi
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44aa76
mov edx, dword [esp + 0xa4]
lea esi, [ebp + 0x5634]
mov ecx, 0x20
lea edi, [edx + 0x2760]
rep movsd dword es:[edi], dword [esi]
mov edi, edx
cmp byte [ebp + 0x156], 1
je 0x44aa88
cmp dword [ebp + 0x348c], 1
jne 0x44aad5
mov dl, byte [edi + 0x27ea]
or dl, 1
mov byte [edi + 0x27ea], dl
mov eax, dword [ebp + 0x110]
test al, 0xc0
jne 0x44aab4
test ah, 0x60
jne 0x44aab4
test ah, 3
je 0x44aabb
mov byte [edi + 0x27eb], 3
jmp 0x44aabb
mov byte [edi + 0x27eb], 0x13
mov byte [edi + 0x27ec], bl
mov byte [edi + 0x27ed], bl
mov byte [edi + 0x27ee], 0xac
mov byte [edi + 0x27ef], 0x80
test byte [ebp + 0x110], 8
je 0x44ab21
cmp byte [ebp + 0xec], bl
jne 0x44ab21
push 1
mov ecx, ebp
call fcn.0044a4b0
and eax, 0xff
lea esi, [ebp + 0x3af7]
sub eax, 0x14
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0xa4]
sar ecx, 1
mov edx, ecx
lea edi, [eax + 0x27f0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, eax
push str.92_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.90_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.90_18_THM8K_DUAL.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.90_19_TH8D2E_Dual.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.10_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.10_18_THM8K_DUAL.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.10_19_TH8D2E_DP.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44af05
push str.10_2A_SDMAHSM.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44ad0f
mov al, byte [ebp + 0x34]
xor ecx, ecx
xor dl, dl
cmp al, bl
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov byte [esp + 0x14], bl
mov byte [esp + 0x13], dl
jbe 0x44aced
mov al, byte [ebp + 0x141]
cmp al, bl
jbe 0x44acd6
mov cx, word [ebp + 0x142]
and eax, 0xff
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
xor eax, eax
cmp cx, bx
jbe 0x44acaf
movzx dx, byte [ebp + 0x17e]
mov cx, word [ebp + 0x18e]
xor esi, esi
mov si, word [ebp + 0x144]
xor edi, edi
imul esi, dword [esp + 0x18]
imul cx, dx
mov di, word [ebp + 0x14a]
mov word [esp + 0x24], cx
mov ecx, eax
mov edx, dword [esp + 0x14]
and ecx, 0xffff
and edx, 0xff
add ecx, esi
imul ecx, edi
mov dword [esp + 0x20], ecx
mov cl, byte [esp + 0x22]
mov byte [esp + edx + 0x28], cl
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x14]
add eax, ecx
mov cx, word [ebp + 0x142]
inc dl
cmp ax, cx
mov byte [esp + 0x14], dl
jb 0x44ac70
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
inc edx
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0x44ac3a
mov edi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x34]
mov dl, byte [esp + 0x13]
mov al, byte [ebp + 0x17d]
add dl, al
mov al, byte [ebp + 0x34]
cmp dl, al
mov byte [esp + 0x13], dl
jb 0x44ac18
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edi, 0x27d0
mov dword [edi], edx
mov edx, dword [esp + 0x30]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov dword [edi + 0xc], ecx
jmp 0x44b146
push str.10_84_L74SDP.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44ad55
push str.10_87_B74_SDP.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
jne 0x44ad55
push str.10_85_L74DDP.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44ae3c
mov ax, word [ebp + 0x26]
shr ax, 8
cmp al, 0xe3
je 0x44ad7f
cmp al, 0xe6
je 0x44ad7f
cmp al, 0xe5
je 0x44ad7f
cmp al, 0xe8
je 0x44ad7f
cmp al, 0xe2
jne 0x44ae3c
cmp byte [ebp + 0x26], 4
jb 0x44ae3c
mov eax, dword [ebp + 8]
cmp byte [eax + 0xc9], bl
je 0x44ae3c
cmp dword [ebp + 0x348c], 2
je 0x44ae3c
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
push ecx
mov ecx, ebp
mov byte [esp + 0x17], 0x10
call fcn.00449dc0
cmp al, 0x50
jne 0x44adbb
mov byte [esp + 0x13], 0x12
jmp 0x44aded
cmp al, 0x40
jne 0x44adc6
mov byte [esp + 0x13], 0x11
jmp 0x44aded
cmp al, 0x20
je 0x44ade8
cmp al, 0x10
je 0x44ade8
cmp al, 0x30
jne 0x44add9
mov byte [esp + 0x13], 0x11
jmp 0x44aded
cmp al, 0x60
jne 0x44ade4
mov byte [esp + 0x13], 0x12
jmp 0x44aded
cmp al, bl
jne 0x44aded
mov byte [esp + 0x13], 0x10
mov dl, byte [esp + 0x13]
mov byte [edi + 0x27ea], 0x10
mov byte [edi + 0x27e0], dl
mov eax, dword [ebp + 0x110]
test al, 0xc0
jne 0x44ae1b
test ah, 0x60
jne 0x44ae1b
test ah, 3
je 0x44ae22
mov byte [edi + 0x27eb], 3
jmp 0x44ae22
mov byte [edi + 0x27eb], 0x13
mov byte [edi + 0x27ec], bl
mov byte [edi + 0x27ed], bl
mov byte [edi + 0x27ee], 0xac
mov byte [edi + 0x27ef], 0x80
mov eax, dword [0x4e5bb8]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
push ebx
push str.ChangeEccClock
push str.EccClock
call esi
cmp eax, ebx
je 0x44aee7
mov ecx, dword [0x4e5bb8]
push ecx
push 0x13
push str.DQSDelay
push str.EccClock
call esi
mov byte [edi + 0x27eb], al
mov edx, dword [0x4e5bb8]
push edx
push ebx
push str.Defwrite
push str.EccClock
call esi
mov byte [edi + 0x27ec], al
mov eax, dword [0x4e5bb8]
push eax
push ebx
push str.Defread
push str.EccClock
call esi
mov byte [edi + 0x27ed], al
mov ecx, dword [0x4e5bb8]
push ecx
push 0xac
push str.FMAutoECC
push str.EccClock
call esi
mov byte [edi + 0x27ee], al
mov edx, dword [0x4e5bb8]
push edx
push 0x80
push str.EccClock
push str.EccClock
call esi
mov byte [edi + 0x27ef], al
lea ecx, [esp + 0xa0]
mov dword [esp + 0x98], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x44b162
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x28]
mov byte [esp + 0x14], bl
rep stosd dword es:[edi], eax
mov al, byte [ebp + 0x34]
xor cl, cl
cmp al, bl
mov byte [esp + 0x13], cl
jbe 0x44aff1
mov al, byte [ebp + 0x141]
cmp al, bl
jbe 0x44afda
mov cx, word [ebp + 0x142]
and eax, 0xff
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
xor eax, eax
cmp cx, bx
jbe 0x44afbe
movzx dx, byte [ebp + 0x17e]
mov cx, word [ebp + 0x18e]
xor esi, esi
mov si, word [ebp + 0x144]
xor edi, edi
imul esi, dword [esp + 0x18]
imul cx, dx
mov di, word [ebp + 0x14a]
mov word [esp + 0x20], cx
mov ecx, eax
mov edx, dword [esp + 0x14]
and ecx, 0xffff
and edx, 0xff
add ecx, esi
imul ecx, edi
mov dword [esp + 0x24], ecx
mov cl, byte [esp + 0x26]
mov byte [esp + edx + 0x28], cl
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0x14]
add eax, ecx
mov cx, word [ebp + 0x142]
inc dl
cmp ax, cx
mov byte [esp + 0x14], dl
jb 0x44af7f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
inc edx
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0x44af49
mov cl, byte [esp + 0x13]
mov dl, byte [ebp + 0x17d]
mov al, byte [ebp + 0x34]
add cl, dl
cmp cl, al
mov byte [esp + 0x13], cl
jb 0x44af27
push str.92_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
mov ebp, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x44b031
mov ebx, dword [esp + 0xa4]
mov ecx, ebp
and ecx, 0xff
lea esi, [esp + 0x28]
mov edx, ecx
lea edi, [ebx + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x44b038
mov ebx, dword [esp + 0xa4]
push str.90_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44b06e
mov ecx, ebp
lea esi, [esp + 0x28]
and ecx, 0xff
lea edi, [ebx + 0x2fb0]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.90_18_THM8K_DUAL.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44b0a4
mov ecx, ebp
lea esi, [esp + 0x28]
and ecx, 0xff
lea edi, [ebx + 0x2fb0]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.10_18_THM8K.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44b0da
mov ecx, ebp
lea esi, [esp + 0x28]
and ecx, 0xff
lea edi, [ebx + 0x27d0]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.10_18_THM8K_DUAL.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44b110
mov ecx, ebp
lea esi, [esp + 0x28]
and ecx, 0xff
lea edi, [ebx + 0x27d0]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.10_19_TH8D2E_DP.BIN
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x44b146
mov ecx, ebp
lea esi, [esp + 0x28]
and ecx, 0xff
lea edi, [ebx + 0x27d0]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x98], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x90]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x8c
ret 0xc