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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10065425
mov eax, dword fs:[0]
push eax
sub esp, 0x338
mov eax, dword [0x1008b880]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x15c], ecx
push 0x100694cc
mov eax, dword [ebp + 8]
push eax
call fcn.1004ce8f
add esp, 8
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
jne 0x10010d7e
push 0x10
push 0x100694d0
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.1004d4a3
add esp, 0xc
mov edx, dword [ebp - 0x16c]
push edx
call fcn.1004db02
add esp, 4
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x16c]
push eax
call fcn.1004dcc8
add esp, 4
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.10045ee9
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.1004d07f
add esp, 0x10
mov eax, dword [ebp - 0x16c]
push eax
call fcn.1004cda8
add esp, 4
mov dword [ebp - 0x170], 0
jmp 0x10010e1f
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x18c]
jge 0x10010e67
mov eax, dword [ebp - 0x170]
and eax, 0x8000001f
jns 0x10010e3f
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 0x10010e10
lea ecx, [ebp - 0x154]
call fcn.10040820
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.100413d0
cmp dword [ebp - 0x2fc], 0
je 0x10010ed8
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
push eax
call fcn.10045ef2
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10040900
jmp 0x10011c99
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.10012800
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.10012830
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.10012830
push str.ItemOptionSystem
lea ecx, [ebp - 0x174]
push ecx
lea ecx, [ebp - 0x154]
call fcn.10040da0
push 0
push 0x10069514
lea edx, [ebp - 0x2a4]
push edx
lea ecx, [ebp - 0x174]
call fcn.10040d30
mov ecx, eax
call fcn.10040c60
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.10040da0
push 0
push str.PrintRequirementNotice
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x194]
call fcn.10040d30
mov ecx, eax
call fcn.10040c60
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + 0xb18], al
push 0
push 0x1006953c
lea edx, [ebp - 0x2d8]
push edx
lea ecx, [ebp - 0x194]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040da0
push str.String
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10040da0
jmp 0x10010ffb
lea ecx, [ebp - 0x2dc]
push ecx
lea ecx, [ebp - 0x190]
call fcn.10041700
mov edx, dword [eax]
mov dword [ebp - 0x190], edx
lea ecx, [ebp - 0x190]
call fcn.10040940
test eax, eax
je 0x1001105d
push 0x100694c9
push 0x10069554
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x190]
call fcn.10040d30
mov ecx, eax
call fcn.10040d10
push eax
lea ecx, [ebp - 0x74]
call fcn.100052e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x15c]
add ecx, 0xb28
call fcn.10012a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.10006850
jmp 0x10010fe1
push str.Requirements
lea edx, [ebp - 0x1e0]
push edx
lea ecx, [ebp - 0x194]
call fcn.10040da0
push 0x1006956c
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.10040da0
jmp 0x100110a7
lea ecx, [ebp - 0x2e4]
push ecx
lea ecx, [ebp - 0x198]
call fcn.10041700
mov edx, dword [eax]
mov dword [ebp - 0x198], edx
lea ecx, [ebp - 0x198]
call fcn.10040940
test eax, eax
je 0x10011115
push 0x100694ca
push 0x10069570
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x198]
call fcn.10040d30
mov ecx, eax
call fcn.10040d10
push eax
lea ecx, [ebp - 0x8c]
call fcn.100052e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x15c]
add ecx, 0xb1c
call fcn.10012a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.10006850
jmp 0x1001108d
push str.Items
lea edx, [ebp - 0x1e4]
push edx
lea ecx, [ebp - 0x174]
call fcn.10040da0
push 0x10069580
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.10040da0
jmp 0x1001115f
lea ecx, [ebp - 0x2ec]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10041700
mov edx, dword [eax]
mov dword [ebp - 0x164], edx
lea ecx, [ebp - 0x164]
call fcn.10040940
test eax, eax
je 0x100113d5
push 0
push 0x10069588
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov esi, eax
shl esi, 9
push 0
push 0x1006958c
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
add esi, eax
mov word [ebp - 0x180], si
push 0
push 0x10069594
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov dword [ebp - 0x5c], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x100695a0
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ca0
call fcn.100460c0
mov dword [ebp - 0x58], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x100695ac
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ca0
call fcn.100460c0
mov dword [ebp - 0x54], eax
push 0
push str.Ancient
lea edx, [ebp - 0x220]
push edx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov word [ebp - 0x50], ax
push 0
push str.Excellent
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x4e], al
push 0
push 0x100695d4
lea ecx, [ebp - 0x228]
push ecx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x4d], al
push 0
push str.SocketCount
lea edx, [ebp - 0x22c]
push edx
lea ecx, [ebp - 0x164]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10012930
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x10
call fcn.100127f0
push eax
lea ecx, [ebp - 0x1a4]
call fcn.10010950
movzx ecx, al
test ecx, ecx
je 0x1001133e
lea edx, [ebp - 0x5c]
push edx
lea ecx, [ebp - 0x1a4]
call fcn.10010960
add eax, 4
mov ecx, eax
call fcn.1000f8e0
jmp 0x100113d0
lea ecx, [ebp - 0x200]
call fcn.100103e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x200]
call fcn.10012890
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x200]
call fcn.1000f8e0
lea ecx, [ebp - 0x200]
push ecx
lea edx, [ebp - 0x180]
push edx
lea ecx, [ebp - 0x32c]
call fcn.1000f940
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.100102e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x328]
call fcn.10010730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x200]
call fcn.10010730
jmp 0x10011145
push str.Muun
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x174]
call fcn.10040da0
push 0x100695f4
lea ecx, [ebp - 0x158]
push ecx
lea ecx, [ebp - 0x1b4]
call fcn.10040da0
jmp 0x1001141f
lea edx, [ebp - 0x234]
push edx
lea ecx, [ebp - 0x158]
call fcn.10041700
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0x158]
call fcn.10040940
test eax, eax
je 0x100117a0
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 0x100695fc
lea edx, [ebp - 0x238]
push edx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov esi, eax
shl esi, 9
push 0
push 0x10069600
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
add esi, eax
mov word [ebp - 0x184], si
push 0
push 0x10069608
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov dword [ebp - 0x44], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x10069614
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ca0
fstp dword [ebp - 0x40]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0x10069620
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ca0
fstp dword [ebp - 0x3c]
push 0
push 0x10069634
lea ecx, [ebp - 0x24c]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x48], al
push 0
push 0x10069640
lea edx, [ebp - 0x250]
push edx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x47], al
push 0
push str.IsGrouped
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040c60
mov byte [ebp - 0x38], al
push 0
push str.Cat2
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov esi, eax
shl esi, 9
push 0
push str.Index2
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
mov esi, eax
shl esi, 9
push 0
push str.Index3
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x34], al
push 0
push str.MaxLevel2
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x33], al
push 0
push str.MinLevel3
lea ecx, [ebp - 0x270]
push ecx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x30], al
push 0
push str.MaxLevel3
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebp - 0x158]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10012930
lea eax, [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x18
call fcn.100127f0
push eax
lea ecx, [ebp - 0x1a8]
call fcn.10010950
movzx ecx, al
test ecx, ecx
je 0x10011709
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x1a8]
call fcn.10010960
add eax, 4
mov ecx, eax
call fcn.100129c0
jmp 0x1001179b
lea ecx, [ebp - 0x1f4]
call fcn.100103e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1f4]
call fcn.10012890
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x1f4]
call fcn.100129c0
lea ecx, [ebp - 0x1f4]
push ecx
lea edx, [ebp - 0x184]
push edx
lea ecx, [ebp - 0x33c]
call fcn.1000fa00
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.100102e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x338]
call fcn.10010740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f4]
call fcn.10010740
jmp 0x10011405
push str.Socket
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x174]
call fcn.10040da0
push str.Item
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.10040da0
jmp 0x100117ea
lea edx, [ebp - 0x27c]
push edx
lea ecx, [ebp - 0x160]
call fcn.10041700
mov eax, dword [eax]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x160]
call fcn.10040940
test eax, eax
je 0x10011b73
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 0x100696b8
lea edx, [ebp - 0x280]
push edx
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov esi, eax
shl esi, 9
push 0
push str.Index
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ca0
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.10040d30
mov ecx, eax
call fcn.10040ca0
fstp dword [ebp - 0x20]
push 0
push str.MinLevel
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x2c], al
push 0
push str.MaxLevel
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x2b], al
push 0
push str.SeedMinLevel
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x1c], al
push 0
push str.SeedMaxLevel
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x1b], al
push 0
push str.SeedCountFire
lea edx, [ebp - 0x2d0]
push edx
lea ecx, [ebp - 0x160]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10040d30
mov ecx, eax
call fcn.10040ce0
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.10012930
lea eax, [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x15c]
add ecx, 0x20
call fcn.100127f0
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10010950
movzx ecx, al
test ecx, ecx
je 0x10011adc
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x1ac]
call fcn.10010960
add eax, 4
mov ecx, eax
call fcn.100129c0
jmp 0x10011b6e
lea ecx, [ebp - 0x20c]
call fcn.100103e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20c]
call fcn.10012890
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x20c]
call fcn.100129c0
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x188]
push edx
lea ecx, [ebp - 0x30c]
call fcn.1000fa00
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.100102e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x308]
call fcn.10010740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20c]
call fcn.10010740
jmp 0x100117d0
push str.OptionText
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10040da0
push 0x10069794
lea ecx, [ebp - 0x178]
push ecx
lea ecx, [ebp - 0x1d8]
call fcn.10040da0
jmp 0x10011bbd
lea edx, [ebp - 0x2c0]
push edx
lea ecx, [ebp - 0x178]
call fcn.10041700
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x178]
call fcn.10040940
test eax, eax
je 0x10011c6c
push 0
push str.OptionId
lea ecx, [ebp - 0x2c4]
push ecx
lea ecx, [ebp - 0x178]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
mov byte [ebp - 0x165], al
push 0x100694cb
push str.Title
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0x178]
call fcn.10040d30
mov ecx, eax
call fcn.10040d10
push eax
movzx eax, byte [ebp - 0x165]
imul ecx, eax, 0x1c
mov edx, dword [ebp - 0x15c]
lea ecx, [edx + ecx + 0x28]
call fcn.1000d510
push 0
push str.ColorID
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x178]
call fcn.10040d30
mov ecx, eax
call fcn.10040ce0
movzx ecx, byte [ebp - 0x165]
imul edx, ecx, 0x1c
mov ecx, dword [ebp - 0x15c]
mov byte [ecx + edx + 0x40], al
jmp 0x10011ba3
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.10045ef2
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.10040900
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10045eb8
mov esp, ebp
pop ebp
ret 4