Function at 0x40ac94
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6bc
push ebp
push edi
push esi
push ebx
lea eax, [esp + 0x23c]
cmp dword [esp + 0x6d8], 5
ja case.default.0x40acba
mov edx, dword [esp + 0x6d8]
jmp dword [edx*4 + 0x40acc1]
mov dword [eax], 0
mov byte [0x44ef10], 4
mov byte [0x44ef20], 1
mov byte [0x44ef30], 6
mov byte [0x44ef40], 5
mov dword [esp + 0x238], 0x4377d0
jmp 0x40ae14
mov dword [eax], 1
jmp 0x40aded
mov dword [eax], 1
mov byte [0x44ef10], 1
mov byte [0x44ef20], 2
mov byte [0x44ef30], 7
mov byte [0x44ef40], 6
mov dword [esp + 0x238], 0x43882a
jmp 0x40ae14
mov dword [eax], 1
mov byte [0x44ef10], 4
mov byte [0x44ef20], 1
mov byte [0x44ef30], 6
mov byte [0x44ef40], 5
mov dword [esp + 0x238], 0x4395f3
jmp 0x40ae14
mov dword [eax], 4
mov byte [0x44ef10], 4
mov byte [0x44ef20], 1
mov byte [0x44ef30], 6
mov byte [0x44ef40], 5
mov dword [esp + 0x238], 0x43aa14
jmp 0x40ae14
mov dword [eax], 2
mov byte [0x44ef10], 4
mov byte [0x44ef20], 1
mov byte [0x44ef30], 6
mov byte [0x44ef40], 5
mov dword [esp + 0x238], 0x43abd3
jmp 0x40ae14
mov dword [esp + 0x23c], 1
mov byte [0x44ef10], 4
mov byte [0x44ef20], 1
mov byte [0x44ef30], 6
mov byte [0x44ef40], 5
mov dword [esp + 0x238], 0x43790b
mov edx, dword [esp + 0x238]
lea ebp, [esp + 0x238]
mov ecx, dword [edx]
add ecx, 0xfffffff8
mov dword [esp + 0x8c], ecx
add esp, 0xfffffffc
lea eax, [esp + 0x238]
push eax
push 0x44eef0
push edx
call fcn.00404330
mov edx, dword [0x44eef0]
mov esi, dword [esp + 0x244]
add esp, 0x10
test eax, eax
jg 0x40ae68
mov eax, dword [0x6df150]
mov eax, dword [eax + 0x304]
jmp 0x40afae
add eax, dword [esp + 0x238]
mov dword [esp + 0x238], eax
mov ecx, edx
xor ebx, ebx
mov edi, dword [eax]
cmp ebx, esi
jge 0x40ae8c
mov edx, esi
xor eax, eax
mov al, byte [ecx]
add ebx, eax
inc ecx
dec edx
jne 0x40ae82
cmp edi, ebx
jne 0x40ae94
mov eax, esi
jmp 0x40aea6
mov eax, dword [0x6df150]
mov eax, dword [eax + 0x2f8]
mov dword [0x44e950], eax
xor eax, eax
add dword [ebp], 4
test eax, eax
je 0x40afb3
mov ebx, dword [0x44eef0]
mov dword [0x43bd04], 6
lea edi, [esp + 0x240]
xor eax, eax
cld
mov ecx, 0x1f
rep stosd dword es:[edi], eax
lea edi, [esp + 0x288]
cld
mov ecx, 8
rep stosd dword es:[edi], eax
mov dword [esp + 0x240], 0x7c
mov dword [esp + 0x244], 0x1180f
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x2a8], 0x840
mov edx, dword [ebx]
mov dword [esp + 0x24c], edx
mov eax, dword [ebx + 4]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x6d0]
mov dword [esp + 0x250], edx
add ebx, 8
mov dword [esp + 0x264], ebx
mov dword [esp + 0x288], 0x20
mov dword [esp + 0x28c], 0x60
mov dword [esp + 0x294], 8
mov dword [esp + 0x298], 0xff
mov dword [esp + 0x29c], 0xff
mov dword [esp + 0x2a0], 0xff
mov edx, dword [eax]
push 0
mov ecx, dword [esp + 0x6d8]
push ecx
lea eax, [esp + 0x248]
push eax
mov eax, dword [esp + 0x6dc]
push eax
mov eax, dword [edx + 0x18]
call eax
test eax, eax
jge 0x40afc0
mov eax, dword [0x6df150]
mov eax, dword [eax + 0x338]
mov dword [0x44e950], eax
xor eax, eax
jmp 0x40cc05
xor edx, edx
lea ebp, [esp + 0x5c0]
lea ecx, [esp + 0x4c0]
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x3c0]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x14], ecx
lea ebx, [esp + 0x230]
cmp edx, dword [esp + 0x8c]
jge 0x40b019
lea esi, [esi]
mov eax, dword [0x44eef0]
cmp byte [edx + eax], 0
jne 0x40b00f
mov byte [edx + eax], 0xff
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40b000
cmp dword [esp + 0x6d8], 2
jne 0x40b066
mov eax, dword [0x6df150]
mov edx, dword [eax + 0x294]
mov dword [esp + 0x7c], edx
mov ecx, dword [eax + 0x2b0]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x2b4]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x2c8]
add esp, 0xfffffff8
push eax
push ebp
call sub.KERNEL32.dll_lstrcpyA
mov eax, dword [0x6df150]
mov eax, dword [eax + 0x2cc]
jmp 0x40b0a7
mov eax, dword [0x6df150]
mov edx, dword [eax + 0x290]
mov dword [esp + 0x7c], edx
mov ecx, dword [eax + 0x2a8]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x2ac]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x2c0]
add esp, 0xfffffff8
push eax
push ebp
call sub.KERNEL32.dll_lstrcpyA
mov eax, dword [0x6df150]
mov eax, dword [eax + 0x2c4]
push eax
mov ecx, dword [esp + 0x24]
push ecx
call sub.KERNEL32.dll_lstrcpyA
add esp, 8
add esp, 0xfffffff4
push 0x3b
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x98], edx
add esp, 0x10
add esp, 0xfffffff4
push 1
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x94], edx
add esp, 0x10
add esp, 0xfffffff4
push 0x43
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
add esp, 0x10
mov eax, dword [eax + edx*4]
push eax
add esp, 0xfffffff4
push 0x42
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
add esp, 0x10
mov eax, dword [eax + edx*4]
push eax
push 0x40ac8b
mov eax, dword [esp + 0x28]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0x10
add esp, 0xfffffff4
push 0x58
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
add esp, 0x10
mov eax, dword [eax + edx*4]
push eax
add esp, 0xfffffff4
push 0x42
call fcn.00407140
mov edx, eax
mov eax, dword [0x6df150]
add esp, 0x10
mov eax, dword [eax + edx*4]
push eax
push 0x40ac8b
mov edx, dword [esp + 0x20]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xfffffff8
mov ecx, dword [esp + 0x6ec]
mov eax, dword [ecx]
mov edx, dword [eax]
push ebx
push eax
mov eax, dword [edx + 0x44]
call eax
push 1
mov eax, dword [esp + 0x24c]
push eax
call sub.GDI32.dll_SetBkMode
push 0
mov eax, dword [esp + 0x24c]
push eax
call sub.GDI32.dll_SetTextColor
add esp, 0x18
mov eax, dword [esp + 0x23c]
test eax, eax
je 0x40b752
cmp eax, 1
jne 0x40b206
mov edi, dword [esp + 0x230]
mov ebx, 0x14
lea esi, [esp + 0x228]
push esi
add esp, 0xfffffff4
push ebp
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebp
push edi
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebp
call sub.KERNEL32.dll_lstrlenA
push eax
push ebp
sub ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 5
push ebx
push 0x1c
jmp 0x40b253
cmp eax, 2
jne 0x40b25c
mov edi, dword [esp + 0x230]
mov ebx, 0x14
lea esi, [esp + 0x220]
push esi
add esp, 0xfffffff4
push ebp
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebp
push edi
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebp
call sub.KERNEL32.dll_lstrlenA
push eax
push ebp
sub ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 6
push ebx
push 0x20
push edi
call sub.GDI32.dll_TextOutA
add esp, 0x18
xor edx, edx
cmp edx, dword [esp + 0x8c]
jge 0x40b285
mov ecx, dword [0x44eef0]
cmp byte [edx + ecx], 0
jne 0x40b27b
mov al, byte [0x44ef10]
mov byte [edx + ecx], al
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40b267
mov eax, dword [esp + 0x23c]
cmp eax, 1
je 0x40b29a
cmp eax, 4
jne 0x40b4d5
mov eax, dword [0x6df150]
mov ebp, dword [esp + 0x230]
mov edi, 0x17
lea esi, [esp + 0x218]
mov ebx, dword [eax + 0x280]
push esi
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, edi
sub eax, dword [esi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1f
push eax
push 0x12
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x210]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x74], edx
mov esi, dword [eax + 0x284]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov ecx, dword [esp + 0x80]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
mov eax, edi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x3c
push eax
mov ebx, 0x4a
sub ebx, dword [esp + 0x234]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0xd
push ebx
mov eax, dword [esp + 0x9c]
push eax
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x208]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x70], edx
mov esi, dword [eax + 0x288]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov ebx, 0x2e
mov ecx, dword [esp + 0x7c]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
mov eax, edi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x3c
push eax
mov eax, ebx
sub eax, dword [esp + 0x22c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x207
push eax
mov eax, dword [esp + 0x98]
push eax
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x200]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x6c], edx
mov esi, dword [eax + 0x28c]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov ecx, dword [esp + 0x78]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
sub edi, dword [ebp + 4]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x3c
push edi
sub ebx, dword [esp + 0x224]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x240
push ebx
mov eax, dword [esp + 0x94]
push eax
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea esi, [esp + 0x1f8]
mov edi, dword [esp + 0x230]
push esi
add esp, 0xfffffff4
mov edx, dword [esp + 0x28]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x20]
push ecx
push edi
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x30]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov ebx, 0x15
mov edx, dword [esp + 0x34]
push edx
sub ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x3d
push ebx
push 0x76
jmp 0x40b711
cmp eax, 2
jne 0x40b71a
mov eax, dword [0x6df150]
mov ebp, dword [esp + 0x230]
mov edi, 0x17
lea esi, [esp + 0x1f0]
mov ebx, dword [eax + 0x280]
push esi
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, edi
sub eax, dword [esi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x21
push eax
push 0x14
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x1e8]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x68], ecx
mov esi, dword [eax + 0x284]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov eax, dword [esp + 0x74]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
mov eax, edi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x3e
push eax
mov ebx, 0x4a
sub ebx, dword [esp + 0x20c]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0xd
push ebx
mov edx, dword [esp + 0x90]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x1e0]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x64], ecx
mov esi, dword [eax + 0x288]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov ebx, 0x2e
mov eax, dword [esp + 0x70]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
mov eax, edi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x3e
push eax
mov eax, ebx
sub eax, dword [esp + 0x204]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x2a7
push eax
mov edx, dword [esp + 0x8c]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x1d8]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x60], ecx
mov esi, dword [eax + 0x28c]
push ebp
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push esi
mov eax, dword [esp + 0x6c]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_lstrlenA
push eax
push esi
sub edi, dword [ebp + 4]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x3e
push edi
sub ebx, dword [esp + 0x1fc]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x2e0
push ebx
mov edx, dword [esp + 0x88]
push edx
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea esi, [esp + 0x1d0]
mov edi, dword [esp + 0x230]
push esi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x28]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x20]
push eax
push edi
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0x30]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov ebx, 0x15
mov ecx, dword [esp + 0x34]
push ecx
sub ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x3f
push ebx
push 0x78
push edi
call sub.GDI32.dll_TextOutA
add esp, 0x18
xor edx, edx
cmp edx, dword [esp + 0x8c]
jge 0x40b743
mov ecx, dword [0x44eef0]
cmp byte [edx + ecx], 0
jne 0x40b739
mov al, byte [0x44ef20]
mov byte [edx + ecx], al
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40b725
mov eax, dword [esp + 0x23c]
test eax, eax
jne 0x40b943
mov ebp, dword [esp + 0x230]
lea edi, [esp + 0x1c8]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x98]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x90]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov esi, 0x3a
mov ecx, dword [esp + 0xa0]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov ebx, 0x13
mov eax, dword [esp + 0xa4]
push eax
mov eax, ebx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, esi
sub eax, dword [esp + 0x1ec]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x1c0]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x94]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x8c]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x9c]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov edx, dword [esp + 0xa0]
push edx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, esi
sub eax, dword [esp + 0x1e4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x86
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x1b8]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x2c]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x24]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0x34]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0x38]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, esi
sub eax, dword [esp + 0x1dc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x106
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x1b0]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x24]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x1c]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0x2c]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0x30]
push eax
sub ebx, dword [edi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x167
push ebx
sub esi, dword [esp + 0x1d4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x186
jmp 0x40c12c
cmp eax, 1
jne 0x40bc40
mov ebp, dword [esp + 0x230]
lea edi, [esp + 0x1a8]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x8c]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov esi, 0x34
mov ecx, dword [esp + 0x84]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ebx, 0x13
mov eax, dword [esp + 0x94]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov edx, dword [esp + 0x98]
push edx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x156
push eax
mov eax, esi
sub eax, dword [esp + 0x1cc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x1a0]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x98]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x90]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0xa0]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0xa4]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x185
push eax
mov eax, esi
sub eax, dword [esp + 0x1c4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x198]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x94]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x8c]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0x9c]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0xa0]
push eax
mov eax, ebx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1b4
push eax
mov eax, esi
sub eax, dword [esp + 0x1bc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x190]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x8c]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x84]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x94]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov edx, dword [esp + 0x98]
push edx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x156
push eax
mov eax, esi
sub eax, dword [esp + 0x1b4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x246
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x188]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x2c]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x24]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0x34]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0x38]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x185
push eax
mov eax, esi
sub eax, dword [esp + 0x1ac]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x246
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x180]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x24]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x1c]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0x2c]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0x30]
push eax
sub ebx, dword [edi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x1b4
push ebx
sub esi, dword [esp + 0x1a4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x246
jmp 0x40c12c
cmp eax, 4
jne 0x40be40
mov ebp, dword [esp + 0x230]
lea edi, [esp + 0x178]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x98]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov esi, 0x4a
mov ecx, dword [esp + 0x90]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ebx, 0x13
mov eax, dword [esp + 0xa0]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov edx, dword [esp + 0xa4]
push edx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, esi
sub eax, dword [esp + 0x19c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x170]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x94]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x8c]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0x9c]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0xa0]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, esi
sub eax, dword [esp + 0x194]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0xa6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x168]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x2c]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x24]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0x34]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, ebx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, esi
sub eax, dword [esp + 0x18c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x146
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x160]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x24]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x2c]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov edx, dword [esp + 0x30]
push edx
sub ebx, dword [edi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x1c5
push ebx
sub esi, dword [esp + 0x184]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x1e6
jmp 0x40c12c
mov ebp, dword [esp + 0x230]
lea edi, [esp + 0x158]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x8c]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov esi, 0x43
mov eax, dword [esp + 0x84]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ebx, 0x17
mov edx, dword [esp + 0x94]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0x98]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x184
push eax
mov eax, esi
sub eax, dword [esp + 0x17c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x150]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x98]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x90]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0xa0]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0xa4]
push eax
mov eax, ebx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1ca
push eax
mov eax, esi
sub eax, dword [esp + 0x174]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x148]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x94]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x8c]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x9c]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov edx, dword [esp + 0xa0]
push edx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x210
push eax
mov eax, esi
sub eax, dword [esp + 0x16c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x140]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov ecx, dword [esp + 0x8c]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov eax, dword [esp + 0x84]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov edx, dword [esp + 0x94]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, ebx
mov ecx, dword [esp + 0x98]
push ecx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x184
push eax
mov eax, esi
sub eax, dword [esp + 0x164]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x2d7
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x138]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov eax, dword [esp + 0x2c]
push eax
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edx, dword [esp + 0x24]
push edx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov ecx, dword [esp + 0x34]
push ecx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, ebx
sub eax, dword [edi + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1ca
push eax
mov eax, esi
sub eax, dword [esp + 0x15c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x2d7
push eax
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea edi, [esp + 0x130]
mov ebp, dword [esp + 0x230]
push edi
add esp, 0xfffffff4
mov edx, dword [esp + 0x24]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x2c]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov edx, dword [esp + 0x30]
push edx
sub ebx, dword [edi + 4]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
sar ebx, 1
add ebx, 0x210
push ebx
sub esi, dword [esp + 0x154]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x2d7
push esi
push ebp
call sub.GDI32.dll_TextOutA
add esp, 0x18
xor edx, edx
cmp edx, dword [esp + 0x8c]
jge 0x40c15f
mov ecx, dword [0x44eef0]
cmp byte [edx + ecx], 0
jne 0x40c155
mov al, byte [0x44ef30]
mov byte [edx + ecx], al
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40c141
mov eax, dword [esp + 0x23c]
test eax, eax
jne 0x40c370
mov eax, dword [0x6df150]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x5c], ecx
mov edi, 0x3a
lea ebp, [esp + 0x128]
mov ebx, dword [eax + 0x298]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov esi, 0x13
mov eax, dword [esp + 0x68]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, edi
sub eax, dword [esp + 0x14c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x40
push eax
mov edx, dword [esp + 0x84]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x120]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x58], ecx
mov ebx, dword [eax + 0x29c]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x64]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, edi
sub eax, dword [esp + 0x144]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0xc0
push eax
mov edx, dword [esp + 0x80]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x118]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x54], ecx
mov ebx, dword [eax + 0x2a0]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x60]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x167
push eax
mov eax, edi
sub eax, dword [esp + 0x13c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x140
push eax
mov edx, dword [esp + 0x7c]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x110]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x50], ecx
mov ebx, dword [eax + 0x2a4]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x5c]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
sub esi, dword [ebp + 4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x167
push esi
sub edi, dword [esp + 0x134]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x1c0
push edi
mov edx, dword [esp + 0x78]
jmp 0x40cb61
cmp eax, 1
jne 0x40c670
mov ebp, dword [esp + 0x230]
lea ebx, [esp + 0x108]
push ebx
add esp, 0xfffffff4
mov ecx, dword [esp + 0x90]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edi, 0x34
mov eax, dword [esp + 0x88]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov esi, 0x13
mov edx, dword [esp + 0x98]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, esi
mov ecx, dword [esp + 0x9c]
push ecx
sub eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x169
push eax
mov eax, edi
sub eax, dword [esp + 0x12c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x100]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x4c], edx
mov ebx, dword [eax + 0x298]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov ecx, dword [esp + 0x58]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x198
push eax
mov eax, edi
sub eax, dword [esp + 0x124]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
mov eax, dword [esp + 0x74]
push eax
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xf8]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x48], edx
mov ebx, dword [eax + 0x29c]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov ecx, dword [esp + 0x54]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c7
push eax
mov eax, edi
sub eax, dword [esp + 0x11c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
mov eax, dword [esp + 0x70]
push eax
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea ebx, [esp + 0xf0]
mov ebp, dword [esp + 0x230]
push ebx
add esp, 0xfffffff4
mov edx, dword [esp + 0x88]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x80]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x90]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, esi
mov edx, dword [esp + 0x94]
push edx
sub eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x169
push eax
mov eax, edi
sub eax, dword [esp + 0x114]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x246
push eax
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xe8]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x44], ecx
mov ebx, dword [eax + 0x2a0]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x50]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x198
push eax
mov eax, edi
sub eax, dword [esp + 0x10c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x246
push eax
mov edx, dword [esp + 0x6c]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xe0]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x40], ecx
mov ebx, dword [eax + 0x2a4]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x4c]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
sub esi, dword [ebp + 4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x1c7
push esi
sub edi, dword [esp + 0x104]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x246
push edi
mov edx, dword [esp + 0x68]
jmp 0x40cb61
cmp eax, 4
jne 0x40c870
mov eax, dword [0x6df150]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x3c], ecx
mov edi, 0x4a
lea ebp, [esp + 0xd8]
mov ebx, dword [eax + 0x298]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov esi, 0x15
mov eax, dword [esp + 0x48]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, edi
sub eax, dword [esp + 0xfc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x50
push eax
mov edx, dword [esp + 0x64]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xd0]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x38], ecx
mov ebx, dword [eax + 0x29c]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x44]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, edi
sub eax, dword [esp + 0xf4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0xf0
push eax
mov edx, dword [esp + 0x60]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xc8]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x34], ecx
mov ebx, dword [eax + 0x2a0]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x40]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1c5
push eax
mov eax, edi
sub eax, dword [esp + 0xec]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x190
push eax
mov edx, dword [esp + 0x5c]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xc0]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x30], ecx
mov ebx, dword [eax + 0x2a4]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x3c]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
sub esi, dword [ebp + 4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x1c5
push esi
sub edi, dword [esp + 0xe4]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x230
push edi
mov edx, dword [esp + 0x58]
jmp 0x40cb61
mov ebp, dword [esp + 0x230]
lea ebx, [esp + 0xb8]
push ebx
add esp, 0xfffffff4
mov ecx, dword [esp + 0x90]
push ecx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov edi, 0x43
mov eax, dword [esp + 0x88]
push eax
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov esi, 0x17
mov edx, dword [esp + 0x98]
push edx
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, esi
mov ecx, dword [esp + 0x9c]
push ecx
sub eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x19b
push eax
mov eax, edi
sub eax, dword [esp + 0xdc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xb0]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x2c], edx
mov ebx, dword [eax + 0x298]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov ecx, dword [esp + 0x38]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1e1
push eax
mov eax, edi
sub eax, dword [esp + 0xd4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
mov eax, dword [esp + 0x54]
push eax
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0xa8]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x28], edx
mov ebx, dword [eax + 0x29c]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov ecx, dword [esp + 0x34]
push ecx
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x227
push eax
mov eax, edi
sub eax, dword [esp + 0xcc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 6
push eax
mov eax, dword [esp + 0x50]
push eax
call sub.GDI32.dll_TextOutA
add esp, 0x18
lea ebx, [esp + 0xa0]
mov ebp, dword [esp + 0x230]
push ebx
add esp, 0xfffffff4
mov edx, dword [esp + 0x88]
push edx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
mov ecx, dword [esp + 0x80]
push ecx
push ebp
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [esp + 0x90]
push eax
call sub.KERNEL32.dll_lstrlenA
push eax
mov eax, esi
mov edx, dword [esp + 0x94]
push edx
sub eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x19b
push eax
mov eax, edi
sub eax, dword [esp + 0xc4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x2d7
push eax
push ebp
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x98]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x24], ecx
mov ebx, dword [eax + 0x2a0]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x30]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
mov eax, esi
sub eax, dword [ebp + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x1e1
push eax
mov eax, edi
sub eax, dword [esp + 0xbc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add eax, 0x2d7
push eax
mov edx, dword [esp + 0x4c]
push edx
call sub.GDI32.dll_TextOutA
mov eax, dword [0x6df150]
add esp, 0x18
lea ebp, [esp + 0x90]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x20], ecx
mov ebx, dword [eax + 0x2a4]
push ebp
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
add esp, 0xc
push eax
push ebx
mov eax, dword [esp + 0x2c]
push eax
call sub.GDI32.dll_GetTextExtentPoint32A
add esp, 0xfffffff4
add esp, 0xfffffff4
push ebx
call sub.KERNEL32.dll_lstrlenA
push eax
push ebx
sub esi, dword [ebp + 4]
mov eax, esi
shr eax, 0x1f
add esi, eax
sar esi, 1
add esi, 0x227
push esi
sub edi, dword [esp + 0xb4]
mov eax, edi
shr eax, 0x1f
add edi, eax
sar edi, 1
add edi, 0x2d7
push edi
mov edx, dword [esp + 0x48]
push edx
call sub.GDI32.dll_TextOutA
add esp, 0x18
xor edx, edx
cmp edx, dword [esp + 0x8c]
jge 0x40cb93
mov ecx, dword [0x44eef0]
cmp byte [edx + ecx], 0
jne 0x40cb89
mov al, byte [0x44ef40]
mov byte [edx + ecx], al
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40cb75
xor edx, edx
cmp edx, dword [esp + 0x8c]
jge 0x40cbb9
mov esi, esi
mov eax, dword [0x44eef0]
cmp byte [edx + eax], 0xff
jne 0x40cbaf
mov byte [edx + eax], 0
inc edx
cmp edx, dword [esp + 0x8c]
jl 0x40cba0
add esp, 0xfffffff8
mov ecx, dword [esp + 0x6dc]
mov edx, dword [ecx]
mov eax, dword [esp + 0x238]
mov ecx, dword [edx]
push eax
push edx
mov eax, dword [ecx + 0x68]
call eax
mov edx, dword [0x44eef0]
mov ecx, dword [edx]
add edx, 4
mov eax, dword [edx]
imul ecx, eax
add esp, 8
add edx, 4
test ecx, ecx
jle 0x40cc00
nop
xor eax, eax
mov al, byte [edx]
mov al, byte [eax + 0x43bd28]
mov byte [edx], al
inc edx
dec ecx
jne 0x40cbf0
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
add esp, 0x6bc
ret