Function at 0x52ed62
Capabilities:
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x575b93
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x83c
push ebx
push esi
push edi
lea eax, [ebp - 0x228]
push eax
call fcn.00529440
add esp, 4
push 0x5cbcdc
lea ecx, [ebp - 0x228]
push ecx
call fcn.0054bea0
add esp, 8
lea ecx, [ebp - 0x10]
call fcn.00401420
mov dword [ebp - 4], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x124], 0
mov edx, dword [ebp + 0x18]
push edx
call fcn.0052d603
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], 0
jmp 0x52ee00
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0x11
jge 0x52ee30
mov ecx, dword [ebp - 0x120]
imul ecx, ecx, 0xc
mov edx, dword [0x673ea0]
cmp edx, dword [ecx + 0x5cb0e0]
jne 0x52ee2e
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
jmp 0x52ee30
jmp 0x52edf1
cmp dword [0x673ea0], 0
jl 0x52ef63
cmp dword [0x673ea0], 7
jg 0x52ef63
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 4]
and edx, 4
test edx, edx
je 0x52ee63
mov dword [ebp - 0x124], 1
cmp dword [ebp - 0x124], 0
jne 0x52ef63
mov dword [ebp - 0x22c], 0
jmp 0x52ee8b
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 4
jge 0x52ef63
mov ecx, dword [ebp - 0x22c]
shl ecx, 4
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + ecx + 0x20]
mov ecx, dword [ebp - 0x22c]
shl ecx, 4
mov edx, dword [ebp + 0x18]
xor ebx, ebx
mov bl, byte [edx + ecx + 0x60]
cmp eax, ebx
jne 0x52ef5e
mov eax, dword [ebp - 0x22c]
shl eax, 4
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + eax + 0x21]
mov eax, dword [ebp - 0x22c]
shl eax, 4
mov ecx, dword [ebp + 0x18]
xor ebx, ebx
mov bl, byte [ecx + eax + 0x61]
cmp edx, ebx
jne 0x52ef5e
mov edx, dword [ebp - 0x22c]
shl edx, 4
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + edx + 0x22]
mov edx, dword [ebp - 0x22c]
shl edx, 4
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov bl, byte [eax + edx + 0x62]
cmp ecx, ebx
jne 0x52ef5e
mov ecx, dword [ebp - 0x22c]
shl ecx, 4
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + ecx + 0x23]
mov ecx, dword [ebp - 0x22c]
shl ecx, 4
mov edx, dword [ebp + 0x18]
xor ebx, ebx
mov bl, byte [edx + ecx + 0x63]
cmp eax, ebx
jne 0x52ef5e
mov eax, dword [ebp - 0x22c]
shl eax, 4
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + eax + 0x20]
test edx, edx
je 0x52ef5e
mov dword [ebp - 0x124], 1
jmp 0x52ef63
jmp 0x52ee7c
cmp dword [0x67f9dc], 0
je 0x52efce
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x42c]
rep stosd dword es:[edi], eax
mov ecx, 0x80
xor eax, eax
mov edi, 0x5eb160
rep stosd dword es:[edi], eax
push 0x5eb160
call fcn.00529440
add esp, 4
mov eax, dword [ebp - 0x11c]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x5cb0dc]
push ecx
push str.UFD__sDVISP.BIN
lea edx, [ebp - 0x42c]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x42c]
push eax
push 0x5eb160
call fcn.0054bea0
add esp, 8
cmp dword [0x673ea0], 0xf
je 0x52efed
cmp dword [0x673ea0], 0x11
je 0x52efed
cmp dword [0x673ea0], 0x13
jne 0x52f0b1
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x62c]
rep stosd dword es:[edi], eax
mov ecx, 0x80
xor eax, eax
mov edi, 0x5eaf60
rep stosd dword es:[edi], eax
push 0x5eaf60
call fcn.00529440
add esp, 4
mov ecx, dword [ebp - 0x11c]
imul ecx, ecx, 0xc
mov edx, dword [ecx + 0x5cb0dc]
push edx
push str.UFD__sISPCPUR.BIN
lea eax, [ebp - 0x62c]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x62c]
push ecx
push 0x5eaf60
call fcn.0054bea0
add esp, 8
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x62c]
rep stosd dword es:[edi], eax
mov ecx, 0x80
xor eax, eax
mov edi, 0x5ead60
rep stosd dword es:[edi], eax
push 0x5ead60
call fcn.00529440
add esp, 4
mov edx, dword [ebp - 0x11c]
imul edx, edx, 0xc
mov eax, dword [edx + 0x5cb0dc]
push eax
push str.UFD__sOFFLED.BIN
lea ecx, [ebp - 0x62c]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x62c]
push edx
push 0x5ead60
call fcn.0054bea0
add esp, 8
cmp dword [0x673e60], 0
je 0x52f0f1
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edi, 0x678c54
mov edx, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x52feb7
lea edi, [ebp - 0x228]
mov edx, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [0x673ea0], 4
jl 0x52f150
cmp dword [0x673ea0], 5
jg 0x52f150
cmp dword [0x5ea0a0], 0
je 0x52f150
push 0
mov ecx, dword [ebp + 0x1c]
push ecx
push 2
push 0x5ea080
mov edx, dword [ebp + 0x10]
push edx
call fcn.0052d056
add esp, 0x14
jmp 0x52feb7
cmp dword [0x673ea0], 6
jne 0x52f47d
push str.UFD_325AC_
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
push 0
mov edx, dword [0x673ea0]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52f1a6
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f478
mov eax, dword [ebp + 0xc]
and eax, 1
test eax, eax
je 0x52f1e2
cmp dword [0x67aa6c], 0
je 0x52f1cc
push str.SM325ACISP_HYNIX_Disable_Interleave.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52f1dd
push str.SM325acISP_HYNIX.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f478
cmp dword [ebp + 8], 0
je 0x52f1fe
push str.SM325ACISP_AG_AND.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52f478
cmp dword [0x67aa6c], 0
je 0x52f21d
push str.SM325ACISP_Disable_Interleave.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52f478
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0xec
jne 0x52f346
cmp dword [ebp - 0x118], 0
je 0x52f346
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd7
jne 0x52f26d
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x55
jne 0x52f26d
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0xb6
je 0x52f31d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd5
jne 0x52f29d
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x51
jne 0x52f29d
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0xa6
je 0x52f31d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd5
jne 0x52f2c7
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x55
jne 0x52f2c7
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x25
je 0x52f31d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd3
jne 0x52f2f1
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x55
jne 0x52f2f1
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x25
je 0x52f31d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd3
jne 0x52f330
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x51
jne 0x52f330
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x95
jne 0x52f330
push 0x5cbda4
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52f341
push 0x5cbdc0
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f478
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x60]
cmp ecx, 0xec
jne 0x52f467
cmp dword [ebp - 0x118], 0
je 0x52f467
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x61]
cmp eax, 0xd7
jne 0x52f397
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x62]
cmp edx, 0x55
jne 0x52f397
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x63]
cmp ecx, 0xb6
je 0x52f441
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x61]
cmp eax, 0xd5
jne 0x52f3c3
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x62]
cmp edx, 0x51
jne 0x52f3c3
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x63]
cmp ecx, 0xa6
je 0x52f441
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x61]
cmp eax, 0xd5
jne 0x52f3ec
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x62]
cmp edx, 0x55
jne 0x52f3ec
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x63]
cmp ecx, 0x25
je 0x52f441
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x61]
cmp eax, 0xd3
jne 0x52f415
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x62]
cmp edx, 0x55
jne 0x52f415
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x63]
cmp ecx, 0x25
je 0x52f441
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x61]
cmp eax, 0xd3
jne 0x52f454
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x62]
cmp edx, 0x51
jne 0x52f454
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x63]
cmp ecx, 0x95
jne 0x52f454
push str.SM325ACISP_InterLeave.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f465
push 0x5cbdec
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52f478
push str.SM325ACISP.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [0x673ea0], 1
jne 0x52f5ab
push str.UFD_3252A_
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
lea eax, [ebp - 0x114]
push eax
push 0
mov ecx, dword [0x673ea0]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52f4d3
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52f5a6
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0x2c
jne 0x52f50d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd7
jne 0x52f50d
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x94
jne 0x52f50d
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x3e
je 0x52f582
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x2c
jne 0x52f546
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0xd9
jne 0x52f546
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
cmp eax, 0xd5
jne 0x52f546
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0x3e
je 0x52f582
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x89
jne 0x52f595
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0xd7
jne 0x52f595
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 0x94
jne 0x52f595
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x3e
jne 0x52f595
push str.SM3252AISP_MI_34NM.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f5a6
push str.SM3252AISP.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [0x673ea0], 2
jne 0x52f781
push str.UFD_3252B_
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
lea edx, [ebp - 0x114]
push edx
push 0
mov eax, dword [0x673ea0]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52f600
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52f77c
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x2c
jne 0x52f63d
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0xd7
jne 0x52f63d
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
cmp eax, 0x94
jne 0x52f63d
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0x3e
je 0x52f720
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x2c
jne 0x52f67a
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0xd9
jne 0x52f67a
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 0xd5
jne 0x52f67a
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x3e
je 0x52f720
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0x89
jne 0x52f6b6
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd7
jne 0x52f6b6
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0x94
jne 0x52f6b6
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x3e
je 0x52f720
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x2c
jne 0x52f6e9
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0x48
jne 0x52f6e9
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
test eax, eax
jne 0x52f6e9
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0x26
je 0x52f720
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x2c
jne 0x52f74f
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0x68
jne 0x52f74f
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 1
jne 0x52f74f
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0xa6
jne 0x52f74f
cmp dword [0x67aa6c], 0
je 0x52f73c
push str.SM3252BISP_MI_34NM_Disable_Interleave.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52f74d
push str.SM3252BISP_MI_34NM.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52f77c
cmp dword [0x67aa6c], 0
je 0x52f76b
push str.SM3252BISP_Disable_Interleave.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52f77c
push str.SM3252BISP.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [0x673ea0], 3
jne 0x52fa7d
push str.UFD_3252C_
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
push 0
mov edx, dword [0x673ea0]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52f7d7
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52fa78
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x2c
jne 0x52f814
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0xd7
jne 0x52f814
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 0x94
jne 0x52f814
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x3e
je 0x52fa1c
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0x2c
jne 0x52f852
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0xd9
jne 0x52f852
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 0xd5
jne 0x52f852
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x3e
je 0x52fa1c
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x89
jne 0x52f892
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0xd7
jne 0x52f892
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
cmp eax, 0x94
jne 0x52f892
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0x3e
je 0x52fa1c
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x2c
jne 0x52f8ca
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0x48
jne 0x52f8ca
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 4
jne 0x52f8ca
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x46
je 0x52fa1c
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0x2c
jne 0x52f902
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0x68
jne 0x52f902
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
cmp ecx, 4
jne 0x52f902
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x46
je 0x52fa1c
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x2c
jne 0x52f940
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0x88
jne 0x52f940
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
cmp eax, 5
jne 0x52f940
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0xc6
je 0x52fa1c
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x89
jne 0x52f97b
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0x68
jne 0x52f97b
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 4
jne 0x52f97b
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x46
je 0x52fa1c
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x20]
cmp eax, 0x2c
jne 0x52f9ae
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x21]
cmp edx, 0x48
jne 0x52f9ae
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x22]
test ecx, ecx
jne 0x52f9ae
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x23]
cmp eax, 0x26
je 0x52fa1c
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x20]
cmp edx, 0x2c
jne 0x52f9e5
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x21]
cmp ecx, 0x68
jne 0x52f9e5
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x22]
cmp eax, 1
jne 0x52f9e5
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x23]
cmp edx, 0xa6
je 0x52fa1c
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x20]
cmp ecx, 0x89
jne 0x52fa4b
mov edx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edx + 0x21]
cmp eax, 0x68
jne 0x52fa4b
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ecx + 0x22]
cmp edx, 0x24
jne 0x52fa4b
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [eax + 0x23]
cmp ecx, 0x46
jne 0x52fa4b
cmp dword [0x67aa6c], 0
je 0x52fa38
push str.SM3252CISP_MI_34NM_Disable_Interleave.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52fa49
push str.SM3252CISP_MI_34NM.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52fa78
cmp dword [0x67aa6c], 0
je 0x52fa67
push str.SM3252CISP_Disable_Interleave.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52fa78
push str.SM3252CISP.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [0x673ea0], 4
jne 0x52fb0b
push str.UFD_3211BC_
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
push 0
mov edx, dword [0x673ea0]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52fad0
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52fb06
cmp dword [0x5ea08c], 0
je 0x52faf5
cmp dword [0x67ab70], 0
je 0x52faf5
push str.SM3211BCISP_Static.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52fb06
push str.SM3211BCISP.BIN
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [0x673ea0], 5
jne 0x52fb99
push str.UFD_3211BC1_
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
lea eax, [ebp - 0x114]
push eax
push 0
mov ecx, dword [0x673ea0]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52fb5e
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52fb94
cmp dword [0x5ea08c], 0
je 0x52fb83
cmp dword [0x67ab70], 0
je 0x52fb83
push str.SM3211BC1ISP_Static.BIN
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
jmp 0x52fb94
push str.SM3211BC1ISP.BIN
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
mov dword [ebp - 0x630], 0
push 0x6785ac
push 0
push str.FlashBrand
push 0x5cbfc4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x840], eax
push 0x6785ac
push 0
push str.FlashID1
push 0x5cbfdc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x83c], eax
push 0x6785ac
push 0
push str.FlashID2
push str.TS48Bytes
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x83c], 0x51
jne 0x52fc0c
cmp dword [ebp - 0x838], 0x11
je 0x52fc3c
cmp dword [ebp - 0x83c], 0x52
jne 0x52fc1e
cmp dword [ebp - 0x838], 9
je 0x52fc3c
cmp dword [ebp - 0x83c], 0x53
jne 0x52fc30
cmp dword [ebp - 0x838], 6
je 0x52fc3c
mov dword [ebp - 0x848], 0
jmp 0x52fc46
mov dword [ebp - 0x848], 1
mov ecx, dword [ebp - 0x848]
mov dword [ebp - 0x634], ecx
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x834]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x120], 0
jmp 0x52fc7c
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0x11
jge 0x52fcac
mov eax, dword [ebp - 0x120]
imul eax, eax, 0xc
mov ecx, dword [0x673ea0]
cmp ecx, dword [eax + 0x5cb0e0]
jne 0x52fcaa
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x630], edx
jmp 0x52fcac
jmp 0x52fc6d
cmp dword [0x673ea0], 0xe
jl 0x52fe07
cmp dword [0x673ea0], 0x16
jg 0x52fe07
cmp dword [0x5edf88], 0
je 0x52fe07
lea eax, [ebp - 0x114]
push eax
push 0
mov ecx, dword [0x673ea0]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52fd42
mov eax, dword [ebp - 0x630]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x5cb0dc]
push ecx
push 0x5cc000
lea edx, [ebp - 0x834]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x834]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52fe02
push 0
push 0x673c50
mov ecx, dword [ebp - 0x838]
push ecx
mov edx, dword [ebp - 0x83c]
push edx
mov eax, dword [ebp - 0x840]
push eax
call fcn.0052ac6c
add esp, 0x14
push 0x5cc008
push 0x673c50
call fcn.0054cb20
add esp, 8
test eax, eax
jne 0x52fd85
cmp dword [ebp - 0x634], 0
je 0x52fdbb
mov ecx, dword [ebp - 0x630]
imul ecx, ecx, 0xc
mov edx, dword [ecx + 0x5cb0d8]
push edx
mov eax, dword [ebp - 0x630]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x5cb0dc]
push ecx
push str.UFD__s_sISP_bucket01.BIN
lea edx, [ebp - 0x834]
push edx
call fcn.0054c6e3
add esp, 0x10
jmp 0x52fdef
mov eax, dword [ebp - 0x630]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x5cb0d8]
push ecx
mov edx, dword [ebp - 0x630]
imul edx, edx, 0xc
mov eax, dword [edx + 0x5cb0dc]
push eax
push str.UFD__s_sISP.BIN
lea ecx, [ebp - 0x834]
push ecx
call fcn.0054c6e3
add esp, 0x10
lea edx, [ebp - 0x834]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
cmp dword [ebp - 0x630], 0
je 0x52feb7
mov ecx, dword [ebp - 0x630]
imul ecx, ecx, 0xc
mov edx, dword [ecx + 0x5cb0dc]
push edx
push str.UFD__s_
lea eax, [ebp - 0x834]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x834]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0054bea0
add esp, 8
lea eax, [ebp - 0x114]
push eax
push 0
mov ecx, dword [0x673ea0]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0052e5ab
add esp, 0x10
test eax, eax
je 0x52fe80
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0054bea0
add esp, 8
jmp 0x52feb7
mov edx, dword [ebp - 0x630]
imul edx, edx, 0xc
mov eax, dword [edx + 0x5cb0d8]
push eax
push str._sISP.BIN
lea ecx, [ebp - 0x834]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x834]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.0054bea0
add esp, 8
mov dword [ebp - 0x844], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0056206c
mov eax, dword [ebp - 0x844]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret