Function at 0x100112b0
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10064945
mov eax, dword fs:[0]
push eax
sub esp, 0x338
mov eax, dword [0x1008b884]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x15c], ecx
jmp 0x100112f6
push 0x1006950c
mov eax, dword [ebp + 8]
push eax
call fcn.1004e21e
add esp, 8
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
jne 0x10011332
push 0x10
push 0x10069510
push str.ItemOptionSystem_Exc.bmd_file_not_found
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 2
push 0
mov ecx, dword [ebp - 0x16c]
push ecx
call fcn.1004e832
add esp, 0xc
mov edx, dword [ebp - 0x16c]
push edx
call fcn.1004ee91
add esp, 4
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x16c]
push eax
call fcn.1004f057
add esp, 4
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.100472fb
add esp, 4
mov dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x18c]
push ecx
push 1
mov edx, dword [ebp - 0x17c]
push edx
call fcn.1004e40e
add esp, 0x10
mov eax, dword [ebp - 0x16c]
push eax
call fcn.1004e137
add esp, 4
mov dword [ebp - 0x170], 0
jmp 0x100113d3
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x18c]
jge 0x1001141b
mov eax, dword [ebp - 0x170]
and eax, 0x8000001f
jns 0x100113f3
dec eax
or eax, 0xffffffe0
inc eax
movzx ecx, byte [eax + 0x1008b4c0]
mov edx, dword [ebp - 0x17c]
add edx, dword [ebp - 0x170]
movsx eax, byte [edx]
xor eax, ecx
mov ecx, dword [ebp - 0x17c]
add ecx, dword [ebp - 0x170]
mov byte [ecx], al
jmp 0x100113c4
lea ecx, [ebp - 0x154]
call fcn.10041bf0
mov dword [ebp - 4], 0
push 0
push 0x74
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x2fc]
push ecx
lea ecx, [ebp - 0x154]
call fcn.100427a0
cmp dword [ebp - 0x2fc], 0
je 0x1001148c
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
push eax
call fcn.10047304
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10041cd0
jmp 0x1001225f
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.10012dc0
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.10012df0
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.10012df0
push str.ItemOptionSystem
lea ecx, [ebp - 0x174]
push ecx
lea ecx, [ebp - 0x154]
call fcn.10042170
push 0
push 0x10069554
lea edx, [ebp - 0x2a4]
push edx
lea ecx, [ebp - 0x174]
call fcn.10042100
mov ecx, eax
call fcn.10042030
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + 0xc], al
push str.Notices
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x174]
call fcn.10042170
push 0
push str.PrintRequirementNotice
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x194]
call fcn.10042100
mov ecx, eax
call fcn.10042030
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + 0xb18], al
push 0
push 0x1006957c
lea edx, [ebp - 0x2d8]
push edx
lea ecx, [ebp - 0x194]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + 0xb19], al
push str.Strings
lea edx, [ebp - 0x1dc]
push edx
lea ecx, [ebp - 0x194]
call fcn.10042170
push str.String
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10042170
jmp 0x100115af
lea ecx, [ebp - 0x2dc]
push ecx
lea ecx, [ebp - 0x190]
call fcn.10042ad0
mov edx, dword [eax]
mov dword [ebp - 0x190], edx
lea ecx, [ebp - 0x190]
call fcn.10041d10
test eax, eax
je 0x10011611
push 0x10069509
push 0x10069594
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x190]
call fcn.10042100
mov ecx, eax
call fcn.100420e0
push eax
lea ecx, [ebp - 0x74]
call fcn.100057b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x15c]
add ecx, 0xb28
call fcn.10012fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.10006d20
jmp 0x10011595
push str.Requirements
lea edx, [ebp - 0x1e0]
push edx
lea ecx, [ebp - 0x194]
call fcn.10042170
push 0x100695ac
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.10042170
jmp 0x1001165b
lea ecx, [ebp - 0x2e4]
push ecx
lea ecx, [ebp - 0x198]
call fcn.10042ad0
mov edx, dword [eax]
mov dword [ebp - 0x198], edx
lea ecx, [ebp - 0x198]
call fcn.10041d10
test eax, eax
je 0x100116c9
push 0x1006950a
push 0x100695b0
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x198]
call fcn.10042100
mov ecx, eax
call fcn.100420e0
push eax
lea ecx, [ebp - 0x8c]
call fcn.100057b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x15c]
add ecx, 0xb1c
call fcn.10012fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.10006d20
jmp 0x10011641
push str.Items
lea edx, [ebp - 0x1e4]
push edx
lea ecx, [ebp - 0x174]
call fcn.10042170
push 0x100695c0
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.10042170
jmp 0x10011713
lea ecx, [ebp - 0x2ec]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10042ad0
mov edx, dword [eax]
mov dword [ebp - 0x164], edx
lea ecx, [ebp - 0x164]
call fcn.10041d10
test eax, eax
je 0x10011989
push 0
push 0x100695c8
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov esi, eax
shl esi, 9
push 0
push 0x100695cc
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
add esi, eax
mov word [ebp - 0x180], si
push 0
push 0x100695d4
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov dword [ebp - 0x5c], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x100695e0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.10042070
call fcn.100474a0
mov dword [ebp - 0x58], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x100695ec
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.10042070
call fcn.100474a0
mov dword [ebp - 0x54], eax
push 0
push str.Ancient
lea edx, [ebp - 0x220]
push edx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov word [ebp - 0x50], ax
push 0
push str.Excellent
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x4e], al
push 0
push 0x10069614
lea ecx, [ebp - 0x228]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x4d], al
push 0
push str.SocketCount
lea edx, [ebp - 0x22c]
push edx
lea ecx, [ebp - 0x164]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x4c], al
mov ax, word [ebp - 0x180]
mov word [ebp - 0x19a], ax
lea ecx, [ebp - 0x19a]
push ecx
lea edx, [ebp - 0x1a4]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.10012ef0
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.10012db0
push eax
lea ecx, [ebp - 0x1a4]
call fcn.10010ef0
movzx ecx, al
test ecx, ecx
je 0x100118f2
lea edx, [ebp - 0x5c]
push edx
lea ecx, [ebp - 0x1a4]
call fcn.10010f00
add eax, 4
mov ecx, eax
call fcn.1000fe80
jmp 0x10011984
lea ecx, [ebp - 0x200]
call fcn.10010980
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x200]
call fcn.10012e50
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x200]
call fcn.1000fe80
lea ecx, [ebp - 0x200]
push ecx
lea edx, [ebp - 0x180]
push edx
lea ecx, [ebp - 0x32c]
call fcn.1000fee0
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1b0]
push ecx
lea edx, [ebp - 0x314]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.10010880
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x328]
call fcn.10010cd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x200]
call fcn.10010cd0
jmp 0x100116f9
push str.Muun
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x174]
call fcn.10042170
push 0x10069634
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x1b4]
call fcn.10042170
jmp 0x100119d3
lea edx, [ebp - 0x234]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042ad0
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0x158]
call fcn.10041d10
test eax, eax
je 0x10011d54
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
push 0
push 0x1006963c
lea edx, [ebp - 0x238]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov esi, eax
shl esi, 9
push 0
push 0x10069640
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
add esi, eax
mov word [ebp - 0x184], si
push 0
push 0x10069648
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov dword [ebp - 0x44], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x10069654
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.10042070
fstp dword [ebp - 0x40]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x10069660
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.10042070
fstp dword [ebp - 0x3c]
push 0
push 0x10069674
lea ecx, [ebp - 0x24c]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x48], al
push 0
push 0x10069680
lea edx, [ebp - 0x250]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x47], al
push 0
push str.IsGrouped
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.10042030
mov byte [ebp - 0x38], al
push 0
push str.Cat2
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov esi, eax
shl esi, 9
push 0
push str.Index2
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
add esi, eax
mov word [ebp - 0x36], si
push 0
push str.Cat3
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov esi, eax
shl esi, 9
push 0
push str.Index3
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
add esi, eax
mov word [ebp - 0x32], si
push 0
push str.MinLevel2
lea edx, [ebp - 0x268]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x34], al
push 0
push str.MaxLevel2
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x33], al
push 0
push str.MinLevel3
lea ecx, [ebp - 0x270]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x30], al
push 0
push str.MaxLevel3
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebp - 0x158]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x2f], al
mov ax, word [ebp - 0x184]
mov word [ebp - 0x19e], ax
lea ecx, [ebp - 0x19e]
push ecx
lea edx, [ebp - 0x1a8]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.10012ef0
lea eax, [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.10012db0
push eax
lea ecx, [ebp - 0x1a8]
call fcn.10010ef0
movzx ecx, al
test ecx, ecx
je 0x10011cbd
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x1a8]
call fcn.10010f00
add eax, 4
mov ecx, eax
call fcn.10012f80
jmp 0x10011d4f
lea ecx, [ebp - 0x1f4]
call fcn.10010980
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1f4]
call fcn.10012e50
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x1f4]
call fcn.10012f80
lea ecx, [ebp - 0x1f4]
push ecx
lea edx, [ebp - 0x184]
push edx
lea ecx, [ebp - 0x33c]
call fcn.1000ffa0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x31c]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.10010880
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x338]
call fcn.10010ce0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f4]
call fcn.10010ce0
jmp 0x100119b9
push str.Socket
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x174]
call fcn.10042170
push str.Item
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.10042170
jmp 0x10011d9e
lea edx, [ebp - 0x27c]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042ad0
mov eax, dword [eax]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x160]
call fcn.10041d10
test eax, eax
je 0x10012127
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
push 0
push 0x100696f8
lea edx, [ebp - 0x280]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov esi, eax
shl esi, 9
push 0
push str.Index
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
add esi, eax
mov word [ebp - 0x188], si
push 0
push str.OptionIndex
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov dword [ebp - 0x28], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push str.OptionValue
lea edx, [ebp - 0x28c]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.10042070
fstp dword [ebp - 0x24]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push str.OptionProbability
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.10042070
fstp dword [ebp - 0x20]
push 0
push str.MinLevel
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x2c], al
push 0
push str.MaxLevel
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x2b], al
push 0
push str.SeedMinLevel
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x1c], al
push 0
push str.SeedMaxLevel
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x1b], al
push 0
push str.SeedCountFire
lea edx, [ebp - 0x2d0]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x1a], al
push 0
push str.SeedCountWater
lea edx, [ebp - 0x2a8]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x1a], al
push 0
push str.SeedCountIce
lea edx, [ebp - 0x2ac]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x1a], al
push 0
push str.SeedCountWind
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
shl ecx, 2
mov byte [ebp + ecx - 0x1a], al
push 0
push str.SeedCountLight
lea edx, [ebp - 0x2b4]
push edx
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
imul edx, ecx, 5
mov byte [ebp + edx - 0x1a], al
push 0
push str.SeedCountEarth
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x160]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov ecx, 1
imul edx, ecx, 6
mov byte [ebp + edx - 0x1a], al
mov ax, word [ebp - 0x188]
mov word [ebp - 0x19c], ax
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x1ac]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.10012ef0
lea eax, [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.10012db0
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10010ef0
movzx ecx, al
test ecx, ecx
je 0x10012090
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x1ac]
call fcn.10010f00
add eax, 4
mov ecx, eax
call fcn.10012f80
jmp 0x10012122
lea ecx, [ebp - 0x20c]
call fcn.10010980
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20c]
call fcn.10012e50
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x20c]
call fcn.10012f80
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x188]
push edx
lea ecx, [ebp - 0x30c]
call fcn.1000ffa0
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1c8]
push ecx
lea edx, [ebp - 0x344]
push edx
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.10010880
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x308]
call fcn.10010ce0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20c]
call fcn.10010ce0
jmp 0x10011d84
push str.OptionText
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10042170
push 0x100697d4
lea ecx, [ebp - 0x178]
push ecx
lea ecx, [ebp - 0x1d8]
call fcn.10042170
jmp 0x10012171
lea edx, [ebp - 0x2c0]
push edx
lea ecx, [ebp - 0x178]
call fcn.10042ad0
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x178]
call fcn.10041d10
test eax, eax
je 0x10012220
push 0
push str.OptionId
lea ecx, [ebp - 0x2c4]
push ecx
lea ecx, [ebp - 0x178]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
mov byte [ebp - 0x165], al
push 0x1006950b
push str.Title
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0x178]
call fcn.10042100
mov ecx, eax
call fcn.100420e0
push eax
movzx eax, byte [ebp - 0x165]
imul ecx, eax, 0x1c
mov edx, dword [ebp - 0x15c]
lea ecx, [edx + ecx + 0x28]
call fcn.1000d9e0
push 0
push str.ColorID
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x178]
call fcn.10042100
mov ecx, eax
call fcn.100420b0
movzx ecx, byte [ebp - 0x165]
imul edx, ecx, 0x1c
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + edx + 0x40], al
jmp 0x10012157
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.10047304
add esp, 4
jmp 0x1001224d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10041cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100472b7
mov esp, ebp
pop ebp
ret 4