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

Disassembly:
push ebp
mov eax, 0x66666667
push edi
push esi
push ebx
sub esp, 0xcc
imul dword [esp + 0xe0]
mov eax, dword [esp + 0xe0]
sar eax, 0x1f
sar edx, 1
sub edx, eax
mov eax, dword [esp + 0xe0]
imul ebx, edx, 0x122
lea ecx, [edx + edx*4]
sub eax, ecx
imul eax, eax, 0xec
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], eax
mov eax, dword [0x45929c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
mov esi, eax
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, eax
mov eax, dword [0x4584d0]
sub esp, 4
mov dword [esp + 0x44], ebx
mov dword [esp], ebx
mov dword [esp + 0x70], edi
mov dword [esp + 4], eax
call edi
mov eax, dword [0x4504f4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call edi
mov edi, dword [sym.imp.GDI32.dll_SetTextColor]
sub esp, 8
mov dword [esp + 0x50], edi
mov dword [esp + 4], 0
mov dword [esp], esi
call edi
mov edi, dword [sym.imp.GDI32.dll_SetBkMode]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 0x54], edi
call edi
sub esp, 8
mov dword [esp + 4], 0xf0b0b0
mov dword [esp + 0x3c], esi
mov dword [esp], esi
call dword [sym.imp.GDI32.dll_SetBkColor]
sub esp, 8
mov ecx, dword [esp + 0xe0]
lea eax, [ecx*4]
mov dword [esp + 0x40], eax
add eax, ecx
shl eax, 3
lea ecx, [eax + 0x4565a0]
mov ebx, dword [eax + 0x456424]
xor ebx, dword [eax + 0x4565c4]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x456420]
xor ecx, dword [eax + 0x4565c0]
or ecx, ebx
jne 0x41cd80
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
lea esi, [eax + 0x4565a0]
movzx ebx, byte [eax + 0x4565aa]
mov dword [esp + 0x58], esi
cmp byte [eax + 0x45640a], bl
jne 0x41cae0
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
mov ebx, dword [eax + 0x4565b4]
lea ebp, [eax + 0x4565a0]
cmp dword [eax + 0x456414], ebx
jne 0x41c978
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
lea esi, [eax + 0x456400]
movzx ebx, word [eax + 0x4565ae]
lea ebp, [eax + 0x4565a0]
mov dword [esp + 0x58], esi
cmp word [eax + 0x45640e], bx
je 0x41bab9
mov eax, dword [esp + 0x48]
mov ebx, dword [0x4584e0]
mov dword [esp + 0x20], 0xcc0020
mov ecx, dword [0x4584dc]
lea edi, [eax + 0x107]
imul edi, ebx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ecx]
mov dword [esp + 0x60], eax
imul eax, ebx, 0x1d
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [esp + 0x4c]
cdq
idiv dword [0x42a2e8]
add ecx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], ecx
lea ecx, [edi + 0x57]
mov edi, dword [0x4584d8]
imul ecx, ebx
mov eax, ecx
cdq
idiv dword [0x42a2e8]
mov edx, ebx
shl edx, 5
add edi, eax
mov dword [esp + 0x74], eax
mov eax, edx
sub eax, ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x8c], edi
add eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], edi
cdq
mov dword [esp + 8], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x74]
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov edi, dword [esp + 0x3c]
mov dword [esp], edi
call dword [sym.imp.GDI32.dll_BitBlt]
movzx eax, word [ebp + 0xe]
sub esp, 0x24
mov dword [esp + 0xc], eax
mov eax, dword [0x450484]
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
add eax, 0x135a
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.USER32.dll_DrawTextW]
movzx eax, word [ebp + 0xe]
sub esp, 0x14
mov esi, dword [esp + 0x58]
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
mov ecx, dword [eax + 0x456418]
mov ebx, dword [eax + 0x45641c]
lea ebp, [eax + 0x4565a0]
xor ecx, dword [eax + 0x4565b8]
xor ebx, dword [eax + 0x4565bc]
or ecx, ebx
jne 0x41c550
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
lea esi, [eax + 0x456400]
movzx ebx, word [eax + 0x4565b0]
lea ebp, [eax + 0x4565a0]
mov dword [esp + 0x58], esi
cmp word [eax + 0x456410], bx
je 0x41bd04
mov eax, dword [esp + 0xe0]
cmp dword [0x458fd4], eax
sete al
mov edi, dword [esp + 0x3c]
movzx eax, al
add eax, 1
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
call eax
mov edx, 0x606060
mov eax, 0x703030
sub esp, 8
cmp dword [esp + 0xe0], 8
mov dword [esp + 0x3c], edi
cmovge eax, edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
call eax
mov ecx, dword [0x4584e0]
mov ebx, dword [0x4584dc]
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], 0xcc0020
lea edi, [eax + 0x71]
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x60], eax
imul eax, ecx, 0x3b
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
cdq
idiv dword [0x42a2e8]
mov edx, dword [esp + 0x4c]
add ebx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], ebx
lea ebx, [edx + 0xa1]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
mov edx, dword [0x4584d8]
mov dword [esp + 0x74], eax
add edx, eax
lea eax, [ecx + ebx]
mov ecx, dword [0x4584d8]
mov edi, edx
mov dword [esp + 0x8c], edx
cdq
mov ebx, dword [esp + 0x68]
idiv dword [0x42a2e8]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add ecx, eax
sub eax, edx
add eax, 1
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov edi, dword [esp + 0x3c]
mov dword [esp], edi
call dword [sym.imp.GDI32.dll_BitBlt]
movzx edx, word [ebp + 0x10]
sub esp, 0x24
mov eax, edx
imul edx, edx, 0xcccd
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
mov ecx, eax
mov dword [esp], ebx
shr edx, 0x13
lea edx, [edx + edx*4]
add edx, edx
sub ecx, edx
lea edx, [eax + 0xa]
cmp cx, 4
cmova eax, edx
mov edx, eax
shr dx, 2
movzx edx, dx
imul edx, edx, 0x147b
shr edx, 0x11
lea ecx, [edx + edx*4]
movzx edx, dx
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xc], edx
shl ecx, 2
sub eax, ecx
movzx eax, ax
imul eax, eax, 0xcccd
shr eax, 0x13
add eax, 0x30
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
add eax, 0x1366
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.USER32.dll_DrawTextW]
movzx eax, word [ebp + 0x10]
sub esp, 0x14
mov esi, dword [esp + 0x58]
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
lea esi, [eax + 0x456400]
movzx ebx, word [eax + 0x4565ac]
lea ebp, [eax + 0x4565a0]
mov dword [esp + 0x58], esi
cmp word [eax + 0x45640c], bx
je 0x41bee1
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], esi
call eax
mov ecx, dword [0x4584e0]
mov ebx, dword [0x4584dc]
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], 0xcc0020
lea edi, [eax + 0xf3]
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x60], eax
imul eax, ecx, 0x3d
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [esp + 0x4c]
cdq
idiv dword [0x42a2e8]
add ebx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], ebx
lea ebx, [edi + 0xa1]
mov edi, dword [0x4584d8]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
add edi, eax
mov dword [esp + 0x74], eax
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x44]
cdq
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call dword [sym.imp.GDI32.dll_BitBlt]
movzx edx, word [ebp + 0xc]
sub esp, 0x24
mov eax, edx
imul edx, edx, 0xcccd
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
mov ecx, eax
mov dword [esp], ebx
shr edx, 0x13
lea edx, [edx + edx*4]
add edx, edx
sub ecx, edx
lea edx, [eax + 0xa]
cmp cx, 4
cmova eax, edx
mov edx, eax
shr dx, 2
movzx edx, dx
imul edx, edx, 0x147b
shr edx, 0x11
lea ecx, [edx + edx*4]
movzx edx, dx
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xc], edx
shl ecx, 2
sub eax, ecx
movzx eax, ax
imul eax, eax, 0xcccd
shr eax, 0x13
add eax, 0x30
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
add eax, 0x1366
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp], esi
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
call dword [sym.imp.USER32.dll_DrawTextW]
movzx eax, word [ebp + 0xc]
sub esp, 0x14
mov esi, dword [esp + 0x58]
mov word [esi + 0xc], ax
mov eax, dword [esp + 0x4c]
mov ebx, dword [0x4584e0]
mov ecx, dword [0x42a2e8]
mov edi, dword [0x4584d8]
lea ebp, [eax + 0xc6]
imul ebp, ebx
mov eax, ebp
cdq
idiv ecx
lea esi, [eax + edi]
mov dword [esp + 0x58], eax
mov eax, ebx
shl eax, 5
mov dword [esp + 0x8c], esi
add eax, ebp
cdq
idiv ecx
xor edx, edx
add edi, eax
mov dword [esp + 0x60], eax
mov eax, dword [0x42a2e4]
mov dword [esp + 0x94], edi
cmp eax, 6
cmovge eax, edx
movzx edx, byte [0x458fc0]
shl eax, 7
cmp byte [eax + 0x4548b5], dl
je 0x41c00f
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 0x1c], esi
lea edi, [eax + 0xa4]
mov dword [esp + 8], esi
imul edi, ebx
mov eax, edi
cdq
idiv ecx
mov edx, dword [0x4584dc]
lea ebp, [edx + eax + 1]
imul eax, ebx, 0x9e
mov ebx, dword [0x4584dc]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 4], ebp
add eax, edi
cdq
idiv ecx
mov ecx, dword [esp + 0x60]
lea eax, [ebx + eax - 2]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x90], eax
sub eax, ebp
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x58]
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
sub ecx, ebx
add ecx, 1
mov dword [esp], eax
mov dword [esp + 0x10], ecx
call dword [sym.imp.GDI32.dll_BitBlt]
movzx ebx, word [0x44a008]
sub esp, 0x24
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0xe0]
shl edx, 3
movzx eax, word [edx + 0x4565a4]
movzx ecx, word [edx + 0x4565a6]
add al, bl
add cl, bl
add ah, bh
add ch, bh
shl ecx, 0x10
movzx eax, ax
or eax, ecx
mov dword [edx + 0x456404], eax
mov ebx, dword [esp + 0x3c]
mov eax, dword [0x4504f4]
xor edi, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], ebx
call eax
sub esp, 8
mov dword [esp], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0x703030
call eax
sub esp, 8
mov eax, dword [esp + 0x48]
lea esi, [eax + 0xd2]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
lea ebp, [eax*8]
mov ebx, esi
movzx eax, byte [ebp + 0x4565a4]
cmp byte [ebp + 0x456404], al
je 0x41c137
mov esi, dword [0x4584e0]
lea eax, [ebx - 0x1f]
mov ecx, dword [0x4584dc]
mov dword [esp + 0x20], 0xcc0020
imul eax, esi
imul esi, ebx
cdq
idiv dword [0x42a2e8]
add ecx, eax
mov dword [esp + 0x50], eax
mov eax, esi
mov esi, dword [0x4584dc]
cdq
mov dword [esp + 0x88], ecx
idiv dword [0x42a2e8]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x94]
add esi, eax
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x8c]
sub edx, esi
mov dword [esp + 0x1c], esi
add edx, 1
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
sub eax, edx
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_BitBlt]
movzx eax, byte [ebp + 0x4565a4]
sub esp, 0x24
test al, al
jne 0x41c350
mov edx, dword [0x458fd0]
test edx, edx
lea ecx, [edx + 3]
cmovns ecx, edx
sar ecx, 2
cmp ecx, dword [esp + 0xe0]
je 0x41cf00
mov byte [ebp + 0x456404], al
add edi, 1
add ebx, 0x24
add ebp, 1
cmp edi, 4
jne 0x41c05c
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
movzx ebx, byte [eax + 0x4565a8]
lea ebp, [eax + 0x4565a0]
cmp byte [eax + 0x456408], bl
jne 0x41c438
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
lea esi, [eax + 0x456400]
movzx ebx, byte [eax + 0x4565a9]
lea ebp, [eax + 0x4565a0]
mov dword [esp + 0x40], esi
cmp byte [eax + 0x456409], bl
je 0x41c30c
mov eax, dword [esp + 0xe0]
cmp dword [0x458fc8], eax
sete al
mov esi, dword [esp + 0x3c]
movzx eax, al
add eax, 1
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
call eax
mov ecx, dword [0x4584e0]
mov ebx, dword [0x4584dc]
sub esp, 8
mov edi, dword [esp + 0x48]
mov dword [esp + 0x20], 0xcc0020
add edi, 0xf7
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x48], eax
imul eax, ecx, 0x2d
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [0x4584d8]
cdq
idiv dword [0x42a2e8]
add ebx, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x4c]
add ebx, 0xeb
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
mov dword [esp + 0x4c], eax
add edi, eax
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x44]
cdq
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call dword [sym.imp.GDI32.dll_BitBlt]
movzx eax, byte [ebp + 9]
sub esp, 0x24
mov dword [esp + 0xc], eax
mov eax, dword [0x450484]
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
add eax, 0x13ac
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp], esi
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
call dword [sym.imp.USER32.dll_DrawTextW]
movzx eax, byte [ebp + 9]
sub esp, 0x14
mov esi, dword [esp + 0x40]
mov byte [esi + 9], al
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
sub esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [0x45929c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
sub esp, 8
call dword [sym.imp.GDI32.dll_GdiFlush]
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x458fd0]
mov ecx, 1
test eax, eax
lea edx, [eax + 3]
cmovns edx, eax
sar edx, 2
cmp edx, dword [esp + 0xe0]
je 0x41cf28
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x54]
call eax
movzx eax, byte [ebp + 0x4565a4]
sub esp, 8
test al, al
jne 0x41c3f0
xor eax, eax
lea esi, [esp + 0x98]
mov dword [esp + 0x98], 0x200020
mov word [esp + 0x9c], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DrawTextW]
movzx eax, byte [ebp + 0x4565a4]
sub esp, 0x14
jmp 0x41c131
mov ecx, eax
mov edx, dword [0x450484]
and ecx, 0xf
mov dword [esp + 0xc], ecx
test al, 0x10
jne 0x41d108
test al, al
js 0x41d1b0
add edx, 0x13bc
lea esi, [esp + 0x98]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x28
mov dword [esp], esi
call fcn.0041b770
jmp 0x41c3ad
mov eax, dword [esp + 0x48]
mov ecx, dword [0x4584e0]
mov dword [esp + 0x20], 0xcc0020
mov ebx, dword [0x4584dc]
lea edi, [eax + 0x9f]
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x50], eax
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
mov dword [esp + 0x88], esi
add eax, edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], esi
cdq
idiv dword [0x42a2e8]
add ebx, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], ebx
lea ebx, [edi + 0xeb]
mov edi, dword [0x4584d8]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
mov dword [esp + 0x70], eax
add edi, eax
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x44]
cdq
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_BitBlt]
movzx eax, byte [ebp + 8]
sub esp, 0x24
test al, 0x10
jne 0x41cf48
mov esi, dword [esp + 0xe0]
cmp dword [0x458fcc], esi
je 0x41d160
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0xe0]
mov byte [edx*8 + 0x456408], al
jmp 0x41c170
mov eax, dword [esp + 0x48]
mov ecx, dword [0x4584e0]
mov dword [esp + 0x20], 0xcc0020
mov ebx, dword [0x4584dc]
lea edi, [eax + 0x71]
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x58], eax
imul eax, ecx, 0xa3
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [esp + 0x4c]
cdq
idiv dword [0x42a2e8]
add ebx, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], ebx
lea ebx, [edi + 0x7c]
mov edi, dword [0x4584d8]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
add edi, eax
mov dword [esp + 0x68], eax
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x44]
cdq
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x3c]
mov esi, 0xcccccccd
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov edi, dword [ebp + 0x18]
mov ebp, dword [ebp + 0x1c]
sub esp, 0x24
mov ecx, edi
mov dword [esp + 0x58], edi
add ecx, ebp
mov dword [esp + 0x5c], ebp
adc ecx, 0
xor ebx, ebx
mov eax, ecx
mul esi
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, edi
sub ecx, edx
mov edx, ebp
sub eax, ecx
sbb edx, ebx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
mov ebx, 0xa
imul ecx, edx, 0xcccccccd
mov dword [esp + 0x64], edx
imul edx, dword [esp + 0x60], 0xcccccccc
add ecx, edx
mul esi
add edx, ecx
shrd eax, edx, 1
shr edx, 1
imul ecx, edx, 0xa
mul ebx
mov ebx, ebp
add edx, ecx
mov ecx, edi
sub ecx, eax
mov eax, 4
sbb ebx, edx
cmp eax, ecx
mov eax, 0
sbb eax, ebx
jae 0x41c6b7
add edi, 0xa
adc ebp, 0
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebp
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
xor ebx, ebx
mov ecx, esi
mov eax, esi
shrd ecx, edi, 0x14
and eax, 0xfffff
and ecx, 0xfffff
add ecx, eax
mov eax, edi
shr eax, 8
and eax, 0xfffff
add ecx, eax
mov eax, edi
shr eax, 0x1c
add ecx, eax
mov eax, 0x51eb851f
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
mov edx, edi
mov edi, 0xc28f5c29
lea eax, [eax + eax*4]
sub ecx, eax
mov eax, esi
sub eax, ecx
sbb edx, ebx
imul ebp, edx, 0xc28f5c29
imul edx, eax, 0x8f5c28f5
add ebp, edx
mul edi
mov esi, eax
mov edi, edx
and eax, 3
mov edx, 0x19
mul edx
add edi, ebp
xor ebp, ebp
add edx, ebp
add ecx, eax
mov ebp, edi
mov edi, esi
adc ebx, edx
shrd edi, ebp, 2
mov dword [esp + 0x60], edi
mov edi, ecx
shr ebp, 2
add edi, ebx
mov dword [esp + 0x64], ebp
mov ebp, 0xcccccccd
mov esi, edi
adc esi, 0
xor edi, edi
mov eax, esi
mul ebp
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
sub esi, edx
sub ecx, esi
mov esi, dword [esp + 0x58]
sbb ebx, edi
imul eax, ecx, 0xcccccccc
mov edi, dword [esp + 0x5c]
imul ebx, ebx, 0xcccccccd
add ebx, eax
mov eax, ecx
mul ebp
mov ebp, dword [0x450484]
add edx, ebx
shrd eax, edx, 1
shr edx, 1
add eax, 0x30
adc edx, 0
mov dword [esp + 0x68], eax
xor ebx, ebx
mov eax, 0x1869f
cmp eax, esi
mov eax, ebx
mov dword [esp + 0x6c], edx
sbb eax, edi
jae 0x41d170
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], 0x186a0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004290a0
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], eax
shrd esi, edi, 0x14
mov edi, dword [esp + 0x7c]
mov eax, esi
and ecx, 0xfffff
and eax, 0xfffff
shr edi, 8
lea esi, [ecx + eax]
mov eax, edi
mov edi, dword [esp + 0x7c]
and eax, 0xfffff
add esi, eax
shr edi, 0x1c
mov eax, 0x51eb851f
add esi, edi
xor edi, edi
mul esi
shr edx, 3
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x7c]
lea eax, [eax + eax*4]
sub esi, eax
mov eax, dword [esp + 0x78]
sub eax, esi
mov esi, 0xc28f5c29
sbb edx, edi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
imul ecx, edx, 0xc28f5c29
imul edx, dword [esp + 0x60], 0x8f5c28f5
add ecx, edx
mul esi
add edx, ecx
mov esi, eax
mov ecx, dword [esp + 0x5c]
mov eax, 0x5f5e0ff
shrd esi, edx, 2
mov edi, edx
mov edx, dword [esp + 0x58]
shr edi, 2
mov dword [esp + 0x60], esi
cmp eax, edx
mov dword [esp + 0x64], edi
sbb ebx, ecx
jae 0x41d118
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], 0x5f5e100
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004290a0
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], 0x186a0
mov ebx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00428f80
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x98]
mov dword [esp + 0x10], eax
lea eax, [ebp + 0x138a]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x28
mov dword [esp], ebx
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0xe0]
shl ecx, 3
mov eax, dword [ecx + 0x4565b8]
mov edx, dword [ecx + 0x4565bc]
mov dword [ecx + 0x456418], eax
mov dword [ecx + 0x45641c], edx
jmp 0x41baed
mov eax, dword [esp + 0x48]
mov ebx, dword [0x4584e0]
mov dword [esp + 0x20], 0xcc0020
mov ecx, dword [0x4584dc]
lea edi, [eax + 0x71]
imul edi, ebx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ecx]
mov dword [esp + 0x58], eax
imul eax, ebx, 0x75
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [esp + 0x4c]
cdq
idiv dword [0x42a2e8]
add ecx, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], ecx
lea ecx, [edi + 0x57]
mov edi, dword [0x4584d8]
imul ecx, ebx
mov eax, ecx
cdq
idiv dword [0x42a2e8]
mov edx, ebx
shl edx, 5
mov dword [esp + 0x68], eax
add edi, eax
mov eax, edx
sub eax, ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x8c], edi
add eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], edi
cdq
mov dword [esp + 8], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x14], ecx
mov edx, dword [0x4584d8]
mov ecx, dword [esp + 0x68]
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp + 0x14]
sub esp, 0x24
cmp ecx, 0x3e7
ja 0x41d070
mov eax, dword [0x450484]
lea ebx, [esp + 0x98]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x28
add eax, 0x12c0
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
mov edx, dword [eax + 0x4565b4]
mov dword [eax + 0x456414], edx
jmp 0x41b943
mov ebx, dword [esp + 0x48]
mov ecx, dword [0x4584e0]
mov dword [esp + 0x20], 0xcc0020
lea edi, [ebx + 0x107]
mov ebx, dword [0x4584dc]
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x60], eax
lea eax, [ecx + ecx*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x88], esi
add eax, edi
mov edi, dword [0x4584d8]
mov dword [esp + 0x18], esi
cdq
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
idiv dword [0x42a2e8]
mov edx, dword [esp + 0x4c]
add ebx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], ebx
lea ebx, [edx + 0x32]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
add edi, eax
mov ebp, eax
lea eax, [ecx + ebx]
mov ecx, dword [0x4584d8]
cdq
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
add ecx, eax
sub eax, ebp
add eax, 1
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x60], ebx
call ebx
mov ebp, dword [0x450484]
sub esp, 0x24
mov eax, dword [esp + 0x58]
lea ebx, [esp + 0x98]
movzx eax, byte [eax + 0xa]
mov dword [esp], ebx
mov dword [esp + 4], 0x28
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x135a]
lea ebp, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.0041b770
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x10], 0x26
mov dword [esp + 8], 0xffffffff
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov dword [esp + 0x3c], esi
mov dword [esp], esi
mov dword [esp + 4], 0x50b0f0
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, dword [0x4584e0]
mov ebp, dword [0x42a2e8]
sub esp, 8
mov ebx, dword [0x4584dc]
mov edi, dword [esp + 0x48]
add edi, 0x64
imul edi, ecx
mov eax, edi
cdq
idiv ebp
lea esi, [eax + ebx]
mov dword [esp + 0x68], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*2]
mov dword [esp + 0x88], esi
cdq
idiv ebp
mov edx, dword [esp + 0x4c]
add ebx, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x90], ebx
lea ebx, [edx + 0x2f]
imul ebx, ecx
mov eax, ebx
cdq
idiv ebp
mov edx, dword [0x4584d8]
lea edi, [edx + eax + 1]
imul eax, ecx, 0xb9
mov ecx, dword [0x4584d8]
add eax, ebx
mov ebx, dword [esp + 0x58]
cdq
idiv ebp
movzx ebx, byte [ebx + 0xa]
add ecx, eax
mov eax, 0x51eb851f
mov ebp, ecx
mov dword [esp + 0x94], ecx
sub ebp, edi
imul ebx, ebp
imul ebx
sar ebx, 0x1f
sar edx, 5
sub edx, ebx
mov dword [esp + 0x8c], edx
je 0x41d0b8
sub ecx, edx
mov eax, dword [esp + 0x68]
add esi, 1
mov edx, dword [esp + 0x44]
mov dword [esp + 0x8c], ecx
sub ecx, edi
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x18], esi
sub ecx, eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
mov eax, ecx
mov dword [esp + 0x14], edx
sub eax, 1
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 0x1c], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp], esi
call ebx
sub esp, 0x24
add dword [esp + 0x88], 1
mov dword [esp], 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
sub esp, 4
mov dword [esp + 8], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.USER32.dll_FillRect]
sub esp, 0xc
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
shl eax, 3
movzx edx, byte [eax + 0x4565aa]
mov byte [eax + 0x45640a], dl
jmp 0x41b91d
mov edi, dword [esp + 0x48]
mov ecx, dword [0x4584e0]
lea ebp, [eax + 0x4565c0]
mov dword [esp + 0x20], 0xcc0020
mov ebx, dword [0x4584dc]
add edi, 0x71
imul edi, ecx
mov eax, edi
cdq
idiv dword [0x42a2e8]
lea esi, [eax + ebx]
mov dword [esp + 0x60], eax
imul eax, ecx, 0x75
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
add eax, edi
mov edi, dword [esp + 0x4c]
cdq
idiv dword [0x42a2e8]
add ebx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x90], ebx
lea ebx, [edi + 0x32]
mov edi, dword [0x4584d8]
imul ebx, ecx
shl ecx, 5
mov eax, ebx
cdq
idiv dword [0x42a2e8]
add edi, eax
mov dword [esp + 0x74], eax
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x74]
cdq
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x8c], edi
idiv dword [0x42a2e8]
mov edx, dword [0x4584d8]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 8], edi
add edx, eax
sub eax, ecx
add eax, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp], esi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, 0x3e7
sub esp, 0x24
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ebp + 4]
cmp eax, edx
mov eax, 0
sbb eax, ecx
jb 0x41d010
mov eax, dword [0x450484]
lea ebx, [esp + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x28
add eax, 0x12c0
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0xe0]
shl ecx, 3
mov eax, dword [ecx + 0x4565c0]
mov edx, dword [ecx + 0x4565c4]
mov dword [ecx + 0x456420], eax
mov dword [ecx + 0x456424], edx
jmp 0x41b8f2
mov ecx, edx
sar ecx, 0x1f
shr ecx, 0x1e
add edx, ecx
and edx, 3
sub edx, ecx
cmp edx, edi
jne 0x41c131
mov ecx, 2
jmp 0x41c372
cdq
xor ecx, ecx
shr edx, 0x1e
add eax, edx
and eax, 3
sub eax, edx
cmp edi, eax
sete cl
add ecx, 1
jmp 0x41c372
mov eax, dword [esp + 0xe0]
cmp dword [0x458fcc], eax
sete al
movzx eax, al
add eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
call eax
xor edx, edx
sub esp, 8
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
movzx eax, byte [eax*8 + 0x4565a8]
test al, 0x10
je 0x41cf9a
mov ecx, eax
and ecx, 0xf
je 0x41cf9a
movzx ecx, cl
test al, 8
cmove edx, ecx
mov eax, dword [0x450484]
lea ebx, [esp + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x28
add eax, 0x13ac
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
lea eax, [esp + 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], 0x26
mov dword [esp + 8], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xe0]
movzx eax, byte [eax*8 + 0x4565a8]
jmp 0x41c538
lea eax, [esp + 0x78]
mov dword [esp], edx
lea ebx, [esp + 0x98]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
call fcn.004290a0
mov edx, dword [esp + 0x78]
mov dword [esp + 4], 0x28
mov dword [esp + 0xc], eax
mov eax, dword [0x450484]
mov dword [esp + 0x10], edx
add eax, 0x133c
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041b770
jmp 0x41cea5
mov eax, 0x10624dd3
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
mul ecx
mov dword [esp], ebx
shr edx, 6
imul eax, edx, 0x3e8
mov dword [esp + 0xc], edx
sub ecx, eax
mov eax, dword [0x450484]
mov dword [esp + 0x10], ecx
add eax, 0x133c
mov dword [esp + 8], eax
call fcn.0041b770
jmp 0x41ca8d
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x68]
add esi, 1
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], esi
sub eax, ebx
mov dword [esp + 0x10], ebp
sub eax, 1
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [esp + 0x60]
call eax
sub esp, 0x24
jmp 0x41cd5f
add edx, 0x13ac
jmp 0x41c415
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov dword [esp + 4], 0x28
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x1372]
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x98]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.0041b770
jmp 0x41c917
mov eax, 2
jmp 0x41cf5e
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
lea ebx, [esp + 0x98]
mov dword [esp + 4], 0x28
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x1366]
mov dword [esp + 8], eax
call fcn.0041b770
jmp 0x41c917
add edx, 0x13b4
jmp 0x41c415