Function at 0x411830
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x467d65
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x4c6af0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x190]
call fcn.004023c0
mov dword [ebp - 4], 0
mov byte [ebp - 0x16c], 0xfe
mov byte [ebp - 0x16b], 0xfb
mov byte [ebp - 0x16a], 0xfd
mov byte [ebp - 0x169], 0xfc
mov byte [ebp - 0x168], 0xff
mov byte [ebp - 0x167], 0xfa
mov byte [ebp - 0x166], 0xf9
mov byte [ebp - 0x165], pe_nt_image_headers32
mov byte [ebp - 0x164], 0xf7
xor eax, eax
mov dword [ebp - 0x163], eax
mov word [ebp - 0x15f], ax
mov byte [ebp - 0x15d], al
mov byte [ebp - 0x21], 1
mov dword [ebp - 0x1c8], 0
jmp 0x4118e1
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
cmp dword [ebp - 0x1c8], 8
jge 0x411901
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c8]
mov cl, byte [edx]
mov byte [ebp + eax - 0x18], cl
jmp 0x4118d2
push 0x10
movzx edx, byte [ebp - 0x21]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00411720
add esp, 0xc
mov dword [0x4cb11c], eax
mov dword [0x4cb11c], 0
mov dword [0x4cb160], 0xffffffff
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x1cc], 0
jmp 0x411952
mov ecx, dword [ebp - 0x1cc]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 8
jge 0x4119be
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
test eax, eax
je 0x4119bc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xff
je 0x4119bc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1cc]
shl edx, 4
mov eax, dword [ebp + 8]
movzx edx, byte [eax + edx]
cmp ecx, edx
jne 0x4119bc
mov eax, dword [0x4cb11c]
add eax, 1
mov dword [0x4cb11c], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x1cc]
mov dword [ecx*4 + 0x4cb120], edx
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x134], eax
jmp 0x411943
cmp dword [0x5164bc], 0
jne 0x4123a2
cmp dword [0x4ca7dc], 0
jne 0x4123a2
mov dword [ebp - 0x1e0], 6
mov dword [ebp - 0x1dc], 5
mov dword [ebp - 0x1d8], 4
mov dword [ebp - 0x1d4], 7
mov dword [ebp - 0x1d0], 8
mov dword [ebp - 0x1e4], 0
jmp 0x411a25
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x1e4], 5
jge 0x411b3f
mov dword [ebp - 0x28], 0
jmp 0x411a44
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax*4 - 0x1e0]
jge 0x411ab9
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp + edx*4 - 0x1e0]
sub eax, 1
cmp dword [ebp - 0x28], eax
jne 0x411a92
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x28]
movzx edx, byte [ecx]
push edx
push 0x4afca8
mov eax, dword [ebp - 0x28]
imul eax, eax, 3
lea ecx, [ebp + eax - 0x1c4]
push ecx
call fcn.0044fc6a
add esp, 0xc
jmp 0x411ab7
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x28]
movzx eax, byte [edx]
push eax
push 0x4afcb0
mov ecx, dword [ebp - 0x28]
imul ecx, ecx, 3
lea edx, [ebp + ecx - 0x1c4]
push edx
call fcn.0044fc6a
add esp, 0xc
jmp 0x411a3b
cmp dword [0x516654], 1
jne 0x411af6
push 0x5164c0
push 0xffffffffffffffff
push 0x4afcb8
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb160], eax
cmp dword [0x4cb160], 0
jl 0x411af4
cmp dword [0x4cb160], 2
jg 0x411af4
jmp 0x411b3f
jmp 0x411b3a
cmp dword [0x516654], 2
je 0x411b08
cmp dword [0x516654], 3
jne 0x411b3a
push 0x5164c0
push 0xffffffffffffffff
push str.Type
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb160], eax
cmp dword [0x4cb160], 0
jl 0x411b3a
cmp dword [0x4cb160], 2
jg 0x411b3a
jmp 0x411b3f
jmp 0x411a16
cmp dword [0x516654], 1
jne 0x411f7c
push 0x5164c0
push 0
push 0x4afcc8
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5174fc], eax
cmp dword [0x4cb160], 0
jge 0x411bb3
lea eax, [ebp - 0x1c4]
push eax
push 0x4afcd4
push 0x4cb480
call fcn.0044fc6a
add esp, 0xc
mov dword [ebp - 0x208], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.00402480
mov eax, dword [ebp - 0x208]
jmp 0x412a11
mov ecx, dword [0x4cb11c]
push ecx
push 0x4afcf0
lea edx, [ebp - 0x130]
push edx
call fcn.0044fc6a
add esp, 0xc
mov byte [ebp - 0xfc], 0
push 0x5164c0
push 0x4f
lea eax, [ebp - 0xfc]
push eax
push 0x46dfc1
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
push 0x4afcf8
push 0x4cb480
call fcn.0044fc6a
add esp, 0x10
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp + 8]
mov al, byte [edx]
mov byte [0x4c9e2b], al
push 0x5164c0
push 0
push 0x4afd00
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0xa
idiv ecx
mov ecx, eax
shl ecx, 4
mov eax, dword [ebp - 0x28]
cdq
mov esi, 0xa
idiv esi
add ecx, edx
mov dword [0x4cb0dc], ecx
push 0x5164c0
push 0x28
push 0x4afd0c
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0e0], eax
cmp dword [0x4cb160], 0
jne 0x411cac
cmp dword [0x4cb0dc], 0x24
jne 0x411cac
mov dword [ebp - 0x218], 0x21
jmp 0x411cb6
mov dword [ebp - 0x218], 0x42
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
cmp ecx, dword [0x4cb0e0]
jle 0x411cdc
mov edx, dword [ebp - 0x1ec]
mov dword [0x4cb0e0], edx
push 0x516fb0
push 0
push 0x4afd14
push 0x4afd20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
je 0x411d39
mov eax, dword [ebp - 0x1e8]
push eax
push str._r_n_____Force_Timing_to__d_ns____
lea ecx, [ebp - 0x190]
push ecx
call fcn.00402f60
add esp, 0xc
lea edx, [ebp - 0x190]
push edx
mov ecx, 0x517534
call fcn.0042cf70
mov eax, dword [ebp - 0x1e8]
mov dword [0x4cb0e0], eax
push 0x5164c0
push 0
push 0x4afd50
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb114], eax
mov eax, dword [0x4cb114]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [0x4cb110], eax
cmp dword [0x4cb110], 0x10
jl 0x411d82
mov dword [ebp - 0x21c], 0x10
jmp 0x411dd9
cmp dword [0x4cb110], 8
jl 0x411d97
mov dword [ebp - 0x220], 8
jmp 0x411dcd
cmp dword [0x4cb110], 4
jl 0x411dac
mov dword [ebp - 0x224], 4
jmp 0x411dc1
xor edx, edx
cmp dword [0x4cb110], 2
setge dl
add edx, 1
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov dword [0x4cb110], edx
push 0x5164c0
push 0
push str.PagePerBlock
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb108], eax
cmp dword [0x4cb108], 0x100
jle 0x411e1b
mov dword [ebp - 0x228], 0x200
jmp 0x411e7b
cmp dword [0x4cb108], 0x80
jle 0x411e33
mov dword [ebp - 0x22c], 0x100
jmp 0x411e6f
cmp dword [0x4cb108], 0x40
jle 0x411e48
mov dword [ebp - 0x230], 0x80
jmp 0x411e63
xor ecx, ecx
cmp dword [0x4cb108], 0x20
setle cl
sub ecx, 1
and ecx, 0x20
add ecx, 0x20
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
mov dword [0x4cb104], ecx
push 0x5164c0
push 0
push 0x4afd6c
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb10c], eax
push 0x5164c0
push 0
push 0x4afd80
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0ec], eax
push 0x5164c0
mov ecx, dword [0x4cb0ec]
push ecx
push str.BlockPerDie
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0f0], eax
push 0x5164c0
push 1
push str.DiePerChip
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0f4], eax
push 0x5164c0
push 2
push 0x4afda8
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0e4], eax
push 0x5164c0
push 1
push 0x4afdb4
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0d8], eax
push 0x5164c0
push 8
push 0x4afdc4
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0d4], eax
push 0x5164c0
push 1
push 0x4afdc8
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0c8], eax
cmp dword [0x516654], 2
je 0x411f92
cmp dword [0x516654], 3
jne 0x41239d
push 0x5164c0
push 0
push str.is3DNand
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5174fc], eax
cmp dword [0x4cb160], 0
jge 0x411ff9
lea eax, [ebp - 0x1c4]
push eax
push 0x4afdd8
push 0x4cb480
call fcn.0044fc6a
add esp, 0xc
mov dword [ebp - 0x20c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.00402480
mov eax, dword [ebp - 0x20c]
jmp 0x412a11
mov ecx, dword [0x4cb11c]
push ecx
push str.PN_d
lea edx, [ebp - 0x130]
push edx
call fcn.0044fc6a
add esp, 0xc
mov byte [ebp - 0xfc], 0
push 0x5164c0
push 0x4f
lea eax, [ebp - 0xfc]
push eax
push 0x46dfc2
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
push 0x4afdfc
push 0x4cb480
call fcn.0044fc6a
add esp, 0x10
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dl, byte [0x4cb720]
mov byte [0x4c9e2b], dl
push 0x5164c0
push 0
push str.nmProcess
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0dc], eax
push 0x5164c0
push 0x11
push str.Timing
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0e0], eax
cmp dword [0x4cb0e0], 0
jne 0x4120ca
mov dword [ebp - 0x234], 0x11
jmp 0x4120f1
mov eax, dword [0x4cb0e0]
cdq
mov ecx, 0xa
idiv ecx
mov ecx, eax
shl ecx, 4
mov eax, dword [0x4cb0e0]
cdq
mov esi, 0xa
idiv esi
or ecx, edx
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x234]
mov dword [0x4cb0e0], edx
push 0x516fb0
push 0
push 0x4afe18
push 0x4afe24
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x412162
mov eax, dword [ebp - 0x1f0]
push eax
mov ecx, dword [0x4cb0e0]
push ecx
push 0x4afe30
lea edx, [ebp - 0x190]
push edx
call fcn.00402f60
add esp, 0x10
lea eax, [ebp - 0x190]
push eax
mov ecx, 0x517534
call fcn.0042cf70
mov ecx, dword [ebp - 0x1f0]
mov dword [0x4cb0e0], ecx
push 0x5164c0
push 0
push str.BlockPerChip
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0ec], eax
push 0x5164c0
push 1
push str.Die_Shift
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0f4], eax
cmp dword [0x4cb0f4], 0
jne 0x4121b1
mov dword [0x4cb0f4], 1
mov eax, dword [0x4cb0ec]
cdq
idiv dword [0x4cb0f4]
mov dword [0x4cb0f0], eax
push 0x5164c0
push 0
push str.PageSize
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb114], eax
mov eax, dword [0x4cb114]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [0x4cb110], eax
cmp dword [0x4cb110], 0x20
jl 0x41220b
mov dword [ebp - 0x238], 0x20
jmp 0x412283
cmp dword [0x4cb110], 0x10
jl 0x412220
mov dword [ebp - 0x23c], 0x10
jmp 0x412277
cmp dword [0x4cb110], 8
jl 0x412235
mov dword [ebp - 0x240], 8
jmp 0x41226b
cmp dword [0x4cb110], 4
jl 0x41224a
mov dword [ebp - 0x244], 4
jmp 0x41225f
xor edx, edx
cmp dword [0x4cb110], 2
setge dl
add edx, 1
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x238], edx
mov eax, dword [ebp - 0x238]
mov dword [0x4cb110], eax
push 0x5164c0
push 2
push str.BitPerCell
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0e4], eax
cmp dword [0x4cb0e4], 3
jl 0x4122de
push 0x5164c0
push 0
push 0x4afe88
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xor edx, edx
mov ecx, 3
div ecx
mov dword [0x4cb108], eax
jmp 0x412325
cmp dword [0x4cb0e4], 2
jl 0x412307
push 0x5164c0
push 0
push str.PageD3
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb108], eax
jmp 0x412325
push 0x5164c0
push 0
push str.PageD1
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb108], eax
push 0x5164c0
push 0
push str.PageSequenceType
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb10c], eax
push 0x5164c0
push 1
push str.PlanePerChip
lea edx, [ebp - 0x1c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0d8], eax
push 0x5164c0
push 8
push str.IOBus
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0d4], eax
push 0x5164c0
push 1
push 0x4afecc
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x4cb0c8], eax
jmp 0x4127b8
mov dword [ebp - 0x1f4], 1
mov dword [ebp - 0x1f8], 0x30
mov dword [ebp - 0x1fc], 0
jmp 0x4123d1
mov edx, dword [ebp - 0x1fc]
add edx, 1
mov dword [ebp - 0x1fc], edx
cmp dword [ebp - 0x1fc], 6
jge 0x41243d
cmp dword [ebp - 0x1fc], 5
jne 0x412410
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax]
push ecx
push 0x4afed0
mov edx, dword [ebp - 0x1fc]
imul edx, edx, 3
lea eax, [ebp + edx - 0x1c4]
push eax
call fcn.0044fc6a
add esp, 0xc
jmp 0x41243b
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1fc]
movzx edx, byte [ecx]
push edx
push 0x4afed8
mov eax, dword [ebp - 0x1fc]
imul eax, eax, 3
lea ecx, [ebp + eax - 0x1c4]
push ecx
call fcn.0044fc6a
add esp, 0xc
jmp 0x4123c2
push 0x80
lea edx, [ebp - 0xac]
push edx
lea eax, [ebp - 0xfc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040aa50
add esp, 0x10
test eax, eax
jne 0x41246c
mov dword [ebp - 0x1f4], 1
jmp 0x412476
mov dword [ebp - 0x1f4], 0
cmp dword [ebp - 0x1f4], 0
jne 0x4124c4
lea edx, [ebp - 0x1c4]
push edx
push str._Wrong_Flash_ID__r_n_s
push 0x4cb480
call fcn.0044fc6a
add esp, 0xc
mov dword [ebp - 0x210], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.00402480
mov eax, dword [ebp - 0x210]
jmp 0x412a11
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
push str._s_r_n_s
push 0x4cb480
call fcn.0044fc6a
add esp, 0x10
movzx edx, byte [ebp - 0xa4]
mov dword [0x4cb160], edx
mov al, byte [ebp - 0xac]
mov byte [0x4c9e2b], al
movzx ecx, byte [ebp - 0x8b]
mov dword [0x4cb0dc], ecx
mov dl, byte [ebp - 0x88]
mov byte [0x4c9f96], dl
push 0x516fb0
push 0x33
push str.FlashTiming
push 0x4aff10
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0x33
je 0x41257c
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [0x4cb0e0]
push ecx
push str._r_n_____Force_Timing__d_to__d_ns____
lea edx, [ebp - 0x190]
push edx
call fcn.00402f60
add esp, 0x10
lea eax, [ebp - 0x190]
push eax
mov ecx, 0x517534
call fcn.0042cf70
mov ecx, dword [ebp - 0x200]
mov dword [0x4cb0e0], ecx
jmp 0x412586
mov dword [0x4cb0e0], 0x33
movzx edx, byte [ebp - 0x85]
shl edx, 8
movzx eax, byte [ebp - 0x86]
or edx, eax
mov dword [0x4cb0ec], edx
movzx ecx, byte [ebp - 0x9a]
mov dword [0x4cb0f4], ecx
cmp dword [0x4cb0f4], 0
jne 0x4125bf
mov dword [0x4cb0f4], 1
mov eax, dword [0x4cb0ec]
cdq
idiv dword [0x4cb0f4]
mov dword [0x4cb0f0], eax
movzx edx, byte [ebp - 0x83]
shl edx, 8
movzx eax, byte [ebp - 0x84]
or edx, eax
mov dword [0x4cb114], edx
mov eax, dword [0x4cb114]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [0x4cb110], eax
cmp dword [0x4cb110], 0x20
jl 0x412614
mov dword [ebp - 0x248], 0x20
jmp 0x41268c
cmp dword [0x4cb110], 0x10
jl 0x412629
mov dword [ebp - 0x24c], 0x10
jmp 0x412680
cmp dword [0x4cb110], 8
jl 0x41263e
mov dword [ebp - 0x250], 8
jmp 0x412674
cmp dword [0x4cb110], 4
jl 0x412653
mov dword [ebp - 0x254], 4
jmp 0x412668
xor ecx, ecx
cmp dword [0x4cb110], 2
setge cl
add ecx, 1
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
mov dword [0x4cb110], edx
mov al, byte [ebp - 0xa3]
mov byte [ebp - 0x201], al
movzx ecx, byte [ebp - 0x201]
cmp ecx, 0x10
jl 0x4126bc
mov dword [ebp - 0x258], 4
jmp 0x4126f8
movzx edx, byte [ebp - 0x201]
cmp edx, 8
jl 0x4126d4
mov dword [ebp - 0x25c], 3
jmp 0x4126ec
movzx eax, byte [ebp - 0x201]
xor ecx, ecx
cmp eax, 4
setge cl
add ecx, 1
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x25c]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x258]
mov dword [0x4cb0e4], eax
cmp dword [0x4cb0e4], 4
jl 0x41272f
movzx eax, byte [ebp - 0x93]
shl eax, 8
movzx ecx, byte [ebp - 0x94]
or eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x4cb108], eax
jmp 0x41278b
cmp dword [0x4cb0e4], 3
jl 0x41275a
movzx eax, byte [ebp - 0x93]
shl eax, 8
movzx edx, byte [ebp - 0x94]
or eax, edx
cdq
mov ecx, 3
idiv ecx
mov dword [0x4cb108], eax
jmp 0x41278b
cmp dword [0x4cb0e4], 2
jl 0x41277e
movzx edx, byte [ebp - 0x93]
shl edx, 8
movzx eax, byte [ebp - 0x94]
or edx, eax
mov dword [0x4cb108], edx
jmp 0x41278b
movzx ecx, byte [ebp - 0x9b]
mov dword [0x4cb108], ecx
mov dword [0x4cb10c], 0
movzx edx, byte [ebp - 0xa1]
mov dword [0x4cb0d8], edx
movzx eax, byte [ebp - 0x9e]
mov dword [0x4cb0d4], eax
mov dword [0x4cb0c8], 1
cmp dword [0x4cb160], 1
je 0x4127cb
mov dword [0x4cb0c8], 0
xor ecx, ecx
cmp dword [0x4cb160], 0
setne cl
lea ecx, [ecx + ecx + 2]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xc
mov dword [ebp - 0x184], 0x19
mov dword [ebp - 0x180], 0x1d
mov dword [ebp - 0x17c], 0x22
mov dword [ebp - 0x178], 0x27
mov dword [ebp - 0x174], 0x2c
mov dword [ebp - 0x170], 0x3c
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0x15
mov dword [ebp - 0x150], 0x2c
mov dword [ebp - 0x14c], 0x33
mov dword [ebp - 0x148], 0x3c
mov dword [ebp - 0x144], 0x45
mov dword [ebp - 0x140], 0x4d
mov dword [ebp - 0x13c], 0x69
mov dword [ebp - 0x20], 7
jmp 0x412893
mov edx, dword [ebp - 0x20]
sub edx, 1
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0
jle 0x4128dc
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x158]
add ecx, 0x400
imul ecx, dword [0x4cb110]
mov edx, dword [0x4cb110]
sub edx, 1
imul edx, dword [ebp - 0x15c]
lea eax, [ecx + edx + 8]
mov dword [ebp - 0x138], eax
mov ecx, dword [0x4cb114]
cmp ecx, dword [ebp - 0x138]
jle 0x4128da
jmp 0x4128dc
jmp 0x41288a
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + edx*4 - 0x18c]
mov dword [0x4cb118], eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + edx*4 - 0x18c]
push eax
mov ecx, dword [0x4cb114]
push ecx
mov edx, dword [ebp - 0x138]
push edx
push str._r_n_______ECC__d__d____d__d_
lea eax, [ebp - 0x190]
push eax
call fcn.00402f60
add esp, 0x18
lea ecx, [ebp - 0x190]
push ecx
mov ecx, 0x517534
call fcn.0042cf70
mov edx, dword [0x4cb160]
neg edx
sbb edx, edx
and edx, 0x16
add edx, 0x336
mov dword [0x4cb0e8], edx
mov eax, dword [0x4cb0f0]
push eax
mov ecx, dword [0x4cb0f4]
push ecx
mov edx, dword [0x4cb0ec]
push edx
mov eax, dword [0x4cb11c]
push eax
mov ecx, dword [0x4cb0d4]
push ecx
push str._r_n_______x_d_Chip_d__d__Die_d__d_.
lea edx, [ebp - 0x190]
push edx
call fcn.00402f60
add esp, 0x1c
lea eax, [ebp - 0x190]
push eax
mov ecx, 0x517534
call fcn.0042cf70
mov ecx, dword [0x4cb0c8]
push ecx
mov edx, dword [0x4cb0e8]
push edx
mov eax, dword [0x4cb118]
push eax
mov ecx, dword [0x4cb0e0]
push ecx
mov edx, dword [0x4cb10c]
push edx
mov eax, dword [0x4cb114]
push eax
mov ecx, dword [0x4cb108]
push ecx
push str._r_n________d__d__d__d__d__d__d
lea edx, [ebp - 0x190]
push edx
call fcn.00402f60
add esp, 0x24
lea eax, [ebp - 0x190]
push eax
mov ecx, 0x517534
call fcn.0042cf70
cmp dword [0x4cb0ec], 0
setne cl
movzx edx, cl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.00402480
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044e8ae
mov esp, ebp
pop ebp
ret