Function at 0x4266e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469305
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x488540]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [edi + 0x178]
push eax
lea eax, [edi + 0x174]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00419e90
push str._theme.ini
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
push eax
call fcn.00419d00
add esp, 0x18
mov byte [ebp - 4], 2
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42675b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427427
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push 0x479fcc
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00402800
test al, al
jne 0x4267bf
push 9
push 0x479fcc
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x120], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427431
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.MeterText
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00402800
test al, al
jne 0x426836
push 9
push str.MeterText
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 5
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x124], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 7
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x42743b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboText
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00402800
test al, al
jne 0x4268ad
push 9
push str.ComboText
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 7
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x128], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 9
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427445
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboTextSelected
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00402800
test al, al
jne 0x426924
push 0x11
push str.ComboTextSelected
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 9
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x12c], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x42744f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboBk
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.00402800
test al, al
jne 0x42699e
push 7
push str.ComboBk
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x130], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xc0
push ecx
mov esi, esp
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427459
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboBkSelected
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.00402800
test al, al
jne 0x426a18
push 0xf
push str.ComboBkSelected
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x134], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427463
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ButtonText
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00402800
test al, al
jne 0x426a8f
push 0xa
push str.ButtonText
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x138], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x42746d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.EditText
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.00402800
test al, al
jne 0x426b06
push 8
push str.EditText
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x13c], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427477
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.EditBk
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00402800
test al, al
jne 0x426b80
push 6
push str.EditBk
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x140], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427481
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListText1
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.00402800
test al, al
jne 0x426bf7
push 9
push str.ListText1
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x144], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x42748b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListText2
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.00402800
test al, al
jne 0x426c6e
push 9
push str.ListText2
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x148], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x427495
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListTextSelected
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.00402800
test al, al
jne 0x426ce5
push 0x10
push str.ListTextSelected
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x14c], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x42749f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBk1
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.00402800
test al, al
jne 0x426d5f
push 7
push str.ListBk1
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x150], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274a9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBk2
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.00402800
test al, al
jne 0x426dd9
push 7
push str.ListBk2
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x154], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274b3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBkSelected
mov ecx, esi
mov byte [ebp - 4], 0x20
call fcn.00402800
test al, al
jne 0x426e50
push 0xe
push str.ListBkSelected
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x158], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274bd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListLine1
mov ecx, esi
mov byte [ebp - 4], 0x22
call fcn.00402800
test al, al
jne 0x426ec7
push 9
push str.ListLine1
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x15c], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274c7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListLine2
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.00402800
test al, al
jne 0x426f3e
push 9
push str.ListLine2
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x160], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274d1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.Glass
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.00402800
test al, al
jne 0x426fb8
push 5
push str.Glass
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 2
call fcn.00427510
push ecx
mov esi, esp
mov dword [edi + 0x164], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
push eax
call fcn.00402510
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0x80
push ecx
mov esi, esp
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x20], esi
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274db
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.Frame
mov ecx, esi
mov byte [ebp - 4], 0x28
call fcn.00402800
test al, al
jne 0x427032
push 5
push str.Frame
mov ecx, esi
call fcn.004029e0
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 2
call fcn.00427510
mov dword [edi + 0x168], eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x24], eax
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274e5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.ComboAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2a
call fcn.00402800
test al, al
jne 0x4270a2
push 0xa
push str.ComboAlpha
lea ecx, [ebp - 0x18]
call fcn.004029e0
push esi
push 0xff
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
mov ecx, ebx
mov byte [ebp - 0xd], al
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4270d7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4270ee
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp - 0xd]
mov byte [edi + 0x16c], al
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x24], eax
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274ef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.EditAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2c
call fcn.00402800
test al, al
jne 0x427154
push 9
push str.EditAlpha
lea ecx, [ebp - 0x18]
call fcn.004029e0
push esi
push 0xff
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
mov ecx, ebx
mov byte [ebp - 0xd], al
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x427189
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4271a0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp - 0xd]
mov byte [edi + 0x16d], al
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0x24], eax
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4274f9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.GlassAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2e
call fcn.00402800
test al, al
jne 0x427206
push 0xa
push str.GlassAlpha
lea ecx, [ebp - 0x18]
call fcn.004029e0
push esi
push 0x80
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
mov ecx, ebx
mov byte [ebp - 0xd], al
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x42723b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x427252
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp - 0xd]
mov byte [edi + 0x16e], al
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
lea esi, [eax + 0x10]
push esi
push 0
push str.Position
push str.Character
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [ebp - 0xd], al
add esi, 0xfffffff0
mov ecx, ebx
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x42729d
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0xd]
push ecx
mov esi, esp
mov byte [edi + 0x16f], al
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.00427590
mov byte [ebp - 4], 0x2f
mov ecx, dword [eax]
mov esi, dword [edi + 0x180]
sub esi, 0x10
lea eax, [ecx - 0x10]
mov dword [ebp - 0x20], eax
cmp eax, esi
je 0x42732f
cmp dword [esi + 0xc], 0
jl 0x427320
mov eax, dword [ecx - 0x10]
cmp eax, dword [esi]
jne 0x427320
push dword [ebp - 0x20]
call fcn.00402510
add esp, 4
mov dword [ebp - 0x20], eax
mov ecx, ebx
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427315
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [edi + 0x180], eax
jmp 0x42732f
push dword [ecx - 0xc]
push ecx
lea ecx, [edi + 0x180]
call fcn.004029e0
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42734d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov esi, esp
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00402510
add esp, 4
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x24]
push 2
push eax
call fcn.00427590
mov byte [ebp - 4], 0x30
lea edx, [edi + 0x184]
mov ecx, dword [eax]
mov esi, dword [edx]
sub esi, 0x10
mov dword [ebp - 0x18], edx
lea eax, [ecx - 0x10]
mov dword [ebp - 0x20], eax
cmp eax, esi
je 0x4273d8
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4273cd
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x4273cd
push dword [ebp - 0x20]
call fcn.00402510
add esp, 4
mov dword [ebp - 0x20], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x4273c3
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
add eax, 0x10
mov dword [ecx], eax
jmp 0x4273d8
push dword [ecx - 0xc]
push ecx
mov ecx, edx
call fcn.004029e0
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4273f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x427415
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
push 0x80004005
call fcn.00402eb0
int3