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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47917a
mov eax, dword fs:[0]
push eax
sub esp, 0x440
mov eax, dword [0x4951c0]
xor eax, esp
mov dword [esp + 0x438], eax
push ebx
push esi
push edi
mov eax, dword [0x4951c0]
xor eax, esp
push eax
lea eax, [esp + 0x450]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor bl, bl
cmp dword [0x58fb94], 0
mov edi, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edi
mov byte [esp + 0x23], bl
jne 0x44be9e
cmp dword [0x58fb70], 0
je 0x44be12
mov byte [esp + 0x23], 1
mov bl, byte [esp + 0x23]
cmp dword [0x58fb74], 0
je 0x44be4d
mov eax, edi
xor edx, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44be22
sub eax, esi
je 0x44be4d
lea ecx, [ecx]
cmp byte [edi + edx], 0x28
je 0x44be7e
mov eax, edi
inc edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44be40
sub eax, esi
cmp edx, eax
jb 0x44be30
test bl, bl
je 0x44be9e
mov eax, dword [0x54c0d4]
cmp eax, 0xffffffff
jne 0x44be89
mov eax, dword [0x4edb8c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xa8], eax
mov eax, dword [0x4ed660]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov dword [esp + 0x4c], esi
jmp 0x44bea2
mov byte [esp + 0x23], 1
mov bl, byte [esp + 0x23]
jmp 0x44be51
mov ecx, dword [0x54acf0]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x4c], ecx
mov esi, ecx
jmp 0x44bea2
mov esi, dword [esp + 0x4c]
xor eax, eax
cmp dword [0x544b7c], eax
jne 0x44bec0
cmp dword [0x544d9c], eax
jne 0x44bec0
mov edx, dword [0x58fe38]
mov dword [0x58fe34], edx
mov dword [esp + 0x94], eax
cmp dword [0x58fe34], eax
je 0x44bf30
mov byte [esp + 0x344], 0x40
jmp 0x44bee0
mov cl, byte [eax + 0x53a0c8]
mov byte [esp + eax + 0x345], cl
inc eax
test cl, cl
jne 0x44bee0
mov dword [esp + 0x94], 0xfffffc7c
cmp dword [0x58fe70], 0
mov dword [0x58fb00], 0
je 0x44bf58
cmp dword [0x543998], 0
jne 0x44bf44
call fcn.00401de0
test eax, eax
jne 0x44bf44
call fcn.004041d0
jmp 0x44bf58
mov cl, byte [eax + 0x53a0c8]
mov byte [esp + eax + 0x344], cl
inc eax
test cl, cl
jne 0x44bf30
jmp 0x44befd
mov eax, dword [0x49ab6c]
mov ecx, dword [eax + 0x10]
push 0x485a30
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, edi
mov dword [0x54c2d8], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44bf67
sub eax, edx
shr eax, 1
mov dword [0x52fa6c], eax
mov eax, dword [0x4965ec]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 7]
cdq
mov ecx, dword [0x4edb80]
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, eax
add eax, eax
cmp dword [0x58fe34], 0
mov dword [esp + 0xd0], eax
je 0x44bff9
mov eax, dword [0x4ed870]
imul ecx, dword [0x544b7c]
sub eax, dword [0x544d9c]
mov edx, dword [0x4ab6cc]
add ecx, dword [0x4ed550]
dec eax
imul eax, edx
add eax, dword [0x4ebfc8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
test bl, bl
je 0x44c03d
mov ecx, dword [0x4edb8c]
sub ecx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x44c03d
mov eax, dword [0x4ab6cc]
imul eax, dword [0x544b7c]
add eax, dword [0x4ebfc8]
mov dword [esp + 0x1c], eax
mov eax, ecx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x10], eax
test bl, bl
je 0x44c03d
sub ecx, dword [0x4ed660]
add dword [esp + 0x10], ecx
cmp dword [0x58fb74], 0
je 0x44c03d
add dword [esp + 0x10], esi
mov esi, dword [0x53b594]
mov ebx, dword [0x544434]
mov edi, dword [0x4edba0]
mov ecx, dword [0x53c458]
xor eax, eax
cmp esi, eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], ecx
jge 0x44c080
mov dword [esp + 0x90], eax
mov esi, eax
cmp ecx, eax
jge 0x44c08d
mov dword [esp + 0x8c], eax
mov ecx, eax
mov edx, dword [0x4965ec]
dec edx
cmp esi, edx
jle 0x44c0a1
mov dword [esp + 0x90], edx
mov esi, edx
mov eax, dword [0x4967f0]
dec eax
cmp ecx, eax
jle 0x44c0b4
mov dword [esp + 0x8c], eax
mov ecx, eax
test ebx, ebx
jge 0x44c0ca
mov dword [esp + 0x98], 0
mov ebx, dword [esp + 0x98]
test edi, edi
jge 0x44c0e0
mov dword [esp + 0x9c], 0
mov edi, dword [esp + 0x9c]
cmp ebx, edx
jle 0x44c0ed
mov dword [esp + 0x98], edx
mov ebx, edx
cmp edi, eax
jle 0x44c0fa
mov dword [esp + 0x9c], eax
mov edi, eax
mov eax, esi
sub eax, ebx
sub ecx, edi
inc eax
inc ecx
test eax, eax
jle 0x44e3af
test ecx, ecx
jle 0x44e3af
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x10]
push eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x60], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x58], eax
mov dword [esp + 0x458], 0
cmp dword [0x53b590], 0
jne 0x44c1a0
mov eax, dword [esp + 0x8c]
add eax, 2
mov dword [esp + 0xe0], eax
add esi, 2
xor eax, eax
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], esi
mov dword [0x49b484], 1
call fcn.004566d0
mov edx, dword [0x4ed874]
mov eax, dword [0x52dc0c]
lea ecx, [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
mov edx, 0x544438
call fcn.0045f070
mov edi, dword [0x543990]
mov eax, dword [0x497dc4]
neg edi
sbb edi, edi
cdq
idiv dword [0x497de4]
and edi, 0x2bc
cmp dword [0x497dd8], 1
mov dword [esp + 0xb0], edi
jne 0x44c1d1
cdq
sub eax, edx
sar eax, 1
mov esi, dword [0x4edb8c]
mov ecx, dword [0x4ed660]
lea ebx, [esi + esi*2]
cmp eax, ebx
jl 0x44c1f3
lea edx, [ecx + ecx*2]
cmp dword [0x497dc8], edx
jge 0x44c270
lea eax, [ecx + ecx*2]
mov esi, 0x497b60
mov dword [esp + 0x64], eax
call fcn.004011a0
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [0x497d78], eax
mov eax, dword [esp + 0x64]
mov ecx, ebx
mov ebx, 0x497d7c
call fcn.00469800
mov ecx, dword [0x497dc0]
mov edx, dword [0x497d78]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x497d78]
push 0xffffff
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x497d78]
push 2
push ecx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov edx, dword [0x497d78]
push 0
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov esi, dword [0x4edb8c]
mov ecx, dword [0x4ed660]
cmp dword [0x58fe34], 0
jne 0x44c2ad
lea eax, [esp + 0x344]
push eax
mov eax, dword [esp + 0x98]
push 1
push 0
push 0
push 0
push 0x80
push 0
push 0
push 0
push edi
push eax
push eax
lea eax, [esi + esi*2]
cdq
sub eax, edx
sar eax, 1
push eax
lea ecx, [ecx + ecx*2]
push ecx
jmp 0x44c2df
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x344]
push edx
push 1
push 0
push 0
push 0
push 0x80
push 0
push 0
push 0
push edi
push eax
push eax
lea eax, [ecx + ecx*2]
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [esi + esi*2]
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edx, dword [0x497d78]
mov ecx, eax
push ecx
push edx
mov dword [esp + 0x7c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ax, word [0x485a34]
mov word [esp + 0x3c], ax
mov eax, dword [0x52d868]
mov cl, byte [0x485a36]
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x78], eax
mov eax, dword [0x4ed664]
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x88], eax
mov eax, dword [0x544c8c]
shl eax, 8
xor ebx, ebx
add eax, 0x49b588
mov dword [esp + 0x80], eax
mov eax, dword [0x4ab6b8]
xor edi, edi
mov dword [esp + 0x14], edi
mov byte [esp + 0x3e], cl
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xa0], ebx
cmp eax, ebx
je 0x44c3a0
cmp eax, 0xffffffff
jne 0x44c39a
mov edx, dword [0x544640]
cmp dword [edx*4 + 0x4ed554], ebx
je 0x44c3a0
mov dword [esp + 0x7c], ebx
jmp 0x44c3a8
mov dword [esp + 0x7c], 1
mov esi, dword [esp + 0x24]
lea esp, [esp]
mov al, byte [esi + edi]
mov byte [esp + 0x2f], al
jmp 0x44c3c0
mov cl, byte [esp + 0x2f]
movzx eax, cl
cmp eax, 0x7b
ja case.0x44c3d7.1
movzx edx, byte [eax + 0x44e418]
jmp dword [edx*4 + 0x44e3d8]
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
cmp dword [0x54aae4], ebx
je 0x44c410
mov eax, dword [0x59262c]
mov byte [eax + 0x59162c], 0x28
inc dword [0x59262c]
mov dword [0x4963a4], ebx
mov dword [0x591628], ebx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xb4], edi
inc edi
cmp byte [esi + edi], 0x2f
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0xa0], 1
mov ecx, edi
je 0x44c44c
inc ecx
cmp byte [esi + ecx], 0x2f
jne 0x44c445
mov eax, ecx
sub eax, edi
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [esp + 0x24]
inc ecx
sar ebx, 1
cmp byte [eax + ecx], 0x29
mov edx, ecx
je 0x44c46b
inc ecx
cmp byte [eax + ecx], 0x29
jne 0x44c464
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
cmp dword [0x58fe34], 0
mov ecx, ebx
jne 0x44db23
mov esi, eax
mov eax, dword [0x4ab6cc]
imul esi, dword [esp + 0xa8]
imul ecx, eax
cmp esi, ecx
jle 0x44da47
mov edx, eax
imul edx, dword [0x4ed870]
add edx, dword [0x4ebfc8]
add eax, esi
add eax, dword [esp + 0x1c]
cmp eax, edx
jl 0x44da2a
call fcn.004594d0
call fcn.00456510
mov dl, byte [esp + 0x23]
test dl, dl
je 0x44d9d7
cmp dword [0x58fb74], 0
je 0x44d9d7
mov edx, dword [esp + 0x4c]
mov eax, dword [0x4edb80]
mov ecx, dword [0x4ab6cc]
imul ecx, dword [0x544b7c]
add ecx, dword [0x4ebfc8]
add eax, edx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x1c], ecx
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x44da1c
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
cmp dword [0x54aae4], ebx
je 0x44c54a
mov ecx, dword [0x59262c]
mov byte [ecx + 0x59162c], 0x29
inc dword [0x59262c]
mov dword [0x4963a4], ebx
mov dword [0x591628], ebx
push 0x64
lea edx, [esp + 0x2e0]
push ebx
push edx
call fcn.004112a0
mov eax, dword [esp + 0xc0]
add esp, 0xc
mov ecx, edi
sub ecx, eax
push ecx
lea edx, [esi + eax]
push edx
lea eax, [esp + 0x2e4]
push eax
call fcn.00409560
mov ecx, dword [esp + 0x5c]
mov eax, ecx
cdq
idiv dword [0x4ab6cc]
inc edi
add esp, 0xc
mov dword [esp + 0x14], edi
mov dword [esp + 0xa0], 3
add dword [0x544b7c], eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [0x58fe34], ebx
jne 0x44db61
add dword [esp + 0x1c], eax
jmp 0x44db65
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
mov eax, dword [esp + 0x24]
lea ebx, [eax + edi]
call fcn.00444bf0
lea ecx, [edi + eax + 1]
mov dword [esp + 0x14], ecx
jmp 0x44e144
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
mov eax, 1
cmp dword [esp + 0xa0], eax
jne 0x44e1f4
cmp dword [0x54aae4], ebx
je 0x44c626
mov edx, dword [0x59262c]
mov byte [edx + 0x59162c], 0x2f
add dword [0x59262c], eax
mov dword [0x4963a4], ebx
mov dword [0x591628], ebx
mov eax, edi
sub eax, dword [esp + 0xb4]
mov dword [esp + 0xa0], 2
imul eax, dword [0x4ab6cc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x50]
inc edi
mov dword [0x54886c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0xb4], edi
jmp 0x44e14e
cmp dword [0x58fb94], ebx
je case.0x44c3d7.9
jmp case.0x44c3d7.1
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
inc edi
mov al, byte [esi + edi]
lea ecx, [esi + edi]
mov dword [esp + 0x14], edi
mov edx, edi
cmp al, 0x30
jb 0x44c6a9
mov edi, edi
cmp al, 0x39
ja 0x44c69d
mov al, byte [esi + edi + 1]
inc edi
cmp al, 0x30
jae 0x44c690
mov dword [esp + 0x14], edi
cmp edx, edi
jne 0x44dbc7
mov eax, dword [0x4963c4]
cmp eax, 0xfffff830
jne 0x44c6ba
mov eax, dword [0x4965e8]
mov edx, dword [0x52e4b4]
mov dword [edx*4 + 0x52d870], eax
inc eax
jmp 0x44dbdd
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
mov eax, dword [0x52e4b4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x4ebfc8]
add eax, eax
dec ecx
add eax, eax
cmp ecx, edx
jge 0x44c702
mov ecx, dword [0x4ab6cc]
imul ecx, dword [0x4ed870]
lea ecx, [ecx + edx - 1]
lea esi, [eax + 0x6484a0]
mov edi, 0x47d40b
mov dword [eax + 0x4edba8], ecx
call fcn.00402270
mov eax, 1
add dword [0x52e4b4], eax
add dword [esp + 0x14], eax
mov eax, dword [0x52d868]
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x78], eax
mov eax, dword [0x4ed664]
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x88], eax
mov eax, dword [0x544c8c]
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x80], eax
jmp 0x44e144
mov al, byte [esi + edi + 1]
inc edi
mov dword [esp + 0x14], edi
mov dword [esp + 0xa4], 1
cmp al, 0x5c
je 0x44c781
cmp al, 0x40
jne 0x44c786
inc edi
mov dword [esp + 0x14], edi
cmp dword [0x58fb94], ebx
je 0x44e14e
dec edi
mov dword [esp + 0x14], edi
jmp case.0x44c3d7.1
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
mov al, byte [esi + edi + 1]
inc edi
mov dword [esp + 0x14], edi
cmp al, 0x64
je 0x44e0a4
cmp al, 0x73
je 0x44e03a
cmp al, 0x77
jne 0x44e14e
inc edi
mov al, byte [esi + edi]
lea ecx, [esi + edi]
mov dword [esp + 0x14], edi
cmp al, 0x30
jb 0x44c7e9
cmp al, 0x39
ja 0x44c7e5
mov al, byte [esi + edi + 1]
inc edi
cmp al, 0x30
jae 0x44c7d8
mov dword [esp + 0x14], edi
push 0
push ecx
call fcn.00409547
mov esi, dword [esp + 0x4c]
add esp, 4
push eax
call fcn.00462250
jmp 0x44e148
cmp dword [0x58fb94], ebx
jne case.0x44c3d7.1
lea edx, [esi + edi + 1]
push edx
call fcn.00409547
mov cl, byte [esi + edi + 1]
inc edi
add esp, 4
mov dword [esp + 0x14], edi
cmp cl, 0x30
jb 0x44c843
lea ebx, [ebx]
cmp cl, 0x39
ja 0x44c83f
mov cl, byte [esi + edi + 1]
inc edi
cmp cl, 0x30
jae 0x44c830
mov dword [esp + 0x14], edi
mov esi, dword [eax*4 + 0x54ad18]
mov eax, esi
cdq
and edx, 0xffff
add eax, edx
mov ecx, eax
sar ecx, 0x10
and esi, 0x8000ffff
mov dword [0x52d868], ecx
jns 0x44c870
dec esi
or esi, 0xffff0000
inc esi
mov eax, esi
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov edx, esi
and edx, 0x800000ff
mov dword [0x4ed664], eax
jns 0x44c895
dec edx
or edx, 0xffffff00
inc edx
mov dword [0x544c8c], edx
shl ecx, 8
shl eax, 8
add ecx, 0x49b588
add eax, 0x49b588
shl edx, 8
add edx, 0x49b588
mov dword [esp + 0x78], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], edx
jmp 0x44e148
cmp dword [0x58fb94], ebx
je 0x44e0cb
cmp dword [esp + 0xa0], 2
je 0x44e0ea
cmp dword [0x544d90], ebx
jne 0x44c900
push str.textmode
push 0x485b20
call fcn.00458fe0
add esp, 8
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jl 0x44c959
mov edx, dword [esp + 0x10]
cmp edx, ebx
jl 0x44c959
mov ecx, dword [0x4edb8c]
add ecx, eax
cmp ecx, dword [0x4965ec]
jge 0x44c959
mov eax, dword [0x4ed660]
add eax, edx
cmp eax, dword [0x4967f0]
jge 0x44c959
mov edx, dword [0x544434]
cmp dword [esp + 0x1c], edx
jl 0x44c957
mov edx, dword [esp + 0x10]
cmp edx, dword [0x4edba0]
jl 0x44c957
cmp ecx, dword [0x53b594]
jge 0x44c957
cmp eax, dword [0x53c458]
jl 0x44c96d
xor ebx, ebx
push 0x485b2c
push 0x485b50
call fcn.00458fe0
add esp, 8
jmp 0x44c96f
xor ebx, ebx
mov ecx, dword [0x4ab6cc]
mov eax, dword [esp + 0x1c]
add ecx, eax
cmp ecx, dword [esp + 0x98]
jl 0x44e14e
mov edx, dword [0x4edb80]
mov ecx, dword [esp + 0x10]
add edx, ecx
cmp edx, dword [esp + 0x9c]
jl 0x44e14e
cmp eax, dword [esp + 0x90]
jg 0x44e14e
cmp ecx, dword [esp + 0x8c]
jg 0x44e14e
mov al, byte [esi + edi]
mov cl, byte [esi + edi + 1]
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], cl
test al, al
je 0x44e2b4
test cl, cl
je 0x44e2b4
cmp dword [0x54aae4], ebx
je 0x44ca11
mov edx, dword [0x59262c]
mov byte [edx + 0x59162c], al
mov eax, dword [0x59262c]
inc eax
mov dword [0x59262c], eax
mov byte [eax + 0x59162c], cl
inc dword [0x59262c]
mov dword [0x4963a4], ebx
mov dword [0x591628], ebx
cmp dword [esp + 0x7c], ebx
jne 0x44ca2c
cmp dword [0x543998], ebx
jne 0x44ca2c
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0xcc], eax
mov eax, dword [0x497dc4]
cdq
idiv dword [0x497de4]
cmp dword [0x497dd8], 1
jne 0x44ca46
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [0x497dc8]
push ecx
push eax
push 0
push 0
xor eax, eax
mov edi, 0x497b60
call fcn.00401f90
cmp dword [0x58fe34], 0
mov dword [esp + 0x64], 1
push 2
jne 0x44ca8a
mov eax, dword [0x497d78]
mov esi, dword [sym.imp.GDI32.dll_TextOutA]
lea edx, [esp + 0x40]
push edx
push 0
push 0
push eax
call esi
jmp 0x44caac
mov eax, dword [0x4edb8c]
lea ecx, [esp + 0x40]
push ecx
push 0
lea edx, [eax + eax*2]
mov eax, dword [0x497d78]
push edx
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
mov esi, dword [sym.imp.GDI32.dll_TextOutA]
cmp dword [0x543990], 0
je 0x44cae5
cmp dword [0x58fe34], 0
mov edx, dword [0x497d78]
push 2
jne 0x44cad1
lea ecx, [esp + 0x40]
push ecx
push 0
push 1
jmp 0x44cae2
lea eax, [esp + 0x40]
push eax
mov eax, dword [0x4edb8c]
push 0
lea ecx, [eax + eax*2 + 1]
push ecx
push edx
call esi
mov eax, dword [0x4967f0]
sub eax, dword [esp + 0x10]
mov esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0x1c]
dec eax
mov edi, dword [0x4edb8c]
mov ecx, eax
imul ecx, esi
lea edx, [ebx + ebx*2]
add ecx, edx
mov edx, dword [0x4965ec]
imul eax, edx
add eax, ebx
add edx, edi
mov dword [esp + 0x48], eax
lea edi, [edi + edi*2]
lea eax, [edi + esi]
mov dword [esp + 0xc0], eax
mov eax, dword [0x497dc4]
mov dword [esp + 0x6c], edx
cdq
idiv dword [0x497de4]
cmp dword [0x497dd8], 1
jne 0x44cb46
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
lea eax, [eax*8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
add esi, esi
add esi, esi
lea eax, [esi + edi]
lea edx, [eax + eax*2]
mov eax, dword [0x497dbc]
mov dword [esp + 0xb8], eax
mov eax, dword [0x497dc8]
dec eax
imul eax, esi
cmp dword [0x58fcbc], 0
mov dword [esp + 0x68], edx
mov edx, dword [0x49881c]
mov dword [esp + 0x34], edx
mov edx, dword [0x496b94]
mov dword [esp + 0x60], esi
mov dword [esp + 0x40], eax
je 0x44cee1
cmp dword [0x52e5bc], 0
je 0x44cee1
mov edi, dword [0x4967f0]
sub edi, dword [0x54acf4]
mov dword [esp + 0x28], eax
sub edi, dword [esp + 0x10]
mov eax, dword [0x54a8c4]
dec edi
imul edi, dword [esp + 0xd0]
add ebx, eax
lea eax, [ebx + ebx*2]
add edi, eax
cmp dword [0x4ed660], 0
mov dword [esp + 0x70], 0
jle 0x44cd1a
cmp dword [0x4edb8c], 0
mov dword [esp + 0x54], 0
jle 0x44ccf7
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0xb8]
lea ebx, [eax + ebx + 6]
mov dword [esp + 0x30], ebx
mov ebx, 3
sub ebx, esi
lea eax, [eax + ebx*2]
add eax, dword [esp + 0xb8]
mov dword [esp + 0x38], eax
jmp 0x44cc40
movzx ebx, byte [esi + eax - 3]
movzx eax, byte [esi + eax - 6]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0x38]
movzx eax, byte [esi + eax]
add ebx, eax
mov eax, dword [esp + 0x38]
movzx esi, byte [eax - 3]
add ebx, esi
mov esi, dword [esp + 0x30]
movzx esi, byte [esi - 3]
add ebx, esi
movzx esi, byte [eax - 6]
lea esi, [esi + ebx*2]
mov ebx, dword [esp + 0x30]
movzx ebx, byte [ebx - 6]
add esi, ebx
movzx ebx, byte [eax]
add esi, ebx
mov ebx, dword [esp + 0x30]
movzx ebx, byte [ebx]
add esi, ebx
movzx ebx, byte [edi + edx]
shl ebx, 8
sar esi, 4
sub ebx, esi
movzx ebx, byte [ebx + 0x49b687]
mov byte [edi + edx], bl
movzx ebx, byte [edi + edx + 1]
inc edi
shl ebx, 8
sub ebx, esi
movzx ebx, byte [ebx + 0x49b687]
mov byte [edi + edx], bl
movzx ebx, byte [edi + edx + 1]
inc edi
shl ebx, 8
sub ebx, esi
movzx ebx, byte [ebx + 0x49b687]
mov esi, 9
add dword [esp + 0x28], esi
add dword [esp + 0x30], esi
add eax, esi
mov esi, dword [esp + 0x54]
inc esi
mov byte [edi + edx], bl
inc edi
cmp esi, dword [0x4edb8c]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jl 0x44cc40
mov eax, dword [esp + 0x68]
inc dword [esp + 0x70]
sub dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
sub edi, dword [esp + 0xc0]
cmp eax, dword [0x4ed660]
jl 0x44cbfa
cmp dword [0x4ed660], 0
mov dword [esp + 0x70], 0
jle 0x44d103
nop
cmp dword [0x4edb8c], 0
mov dword [esp + 0x54], 0
jle 0x44ceb0
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0xb8]
lea ebx, [edi + eax + 6]
mov dword [esp + 0x38], ebx
mov ebx, 3
sub ebx, esi
lea edi, [edi + ebx*2]
add edi, eax
jmp 0x44cd70
movzx ebx, byte [edi + esi]
movzx eax, byte [edi + esi - 3]
movzx esi, byte [edi + esi - 6]
lea eax, [ebx + eax*2]
add eax, esi
movzx esi, byte [edi - 3]
add eax, esi
mov esi, dword [esp + 0x38]
movzx ebx, byte [esi - 3]
add eax, ebx
movzx ebx, byte [edi - 6]
lea eax, [ebx + eax*2]
movzx ebx, byte [esi - 6]
movzx esi, byte [esi]
add eax, ebx
movzx ebx, byte [edi]
add eax, ebx
mov ebx, dword [0x58fb28]
add eax, esi
mov esi, dword [esp + 0x48]
inc esi
sar eax, 4
mov byte [esi + ebx - 1], al
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x80]
mov bl, byte [eax + esi]
movzx esi, byte [edx + ecx]
shl esi, 8
sub esi, eax
movzx esi, byte [esi + 0x49b687]
mov byte [esp + 0x1b], bl
movzx ebx, bl
add esi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x34]
mov byte [esi + ecx], bl
mov ebx, dword [esp + 0x30]
cmp ebx, 0xff
jle 0x44ce04
mov ebx, 0xff
mov esi, dword [esp + 0x88]
mov byte [edx + ecx], bl
mov bl, byte [eax + esi]
movzx esi, byte [edx + ecx + 1]
inc ecx
shl esi, 8
sub esi, eax
movzx esi, byte [esi + 0x49b687]
mov byte [esp + 0x1b], bl
movzx ebx, bl
add esi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x34]
mov byte [esi + ecx], bl
mov ebx, dword [esp + 0x30]
cmp ebx, 0xff
jle 0x44ce4d
mov ebx, 0xff
mov esi, dword [esp + 0x78]
mov byte [edx + ecx], bl
mov bl, byte [eax + esi]
movzx esi, byte [edx + ecx + 1]
inc ecx
shl esi, 8
sub esi, eax
movzx esi, byte [esi + 0x49b687]
movzx eax, bl
add esi, eax
cmp esi, 0xff
mov eax, dword [esp + 0x34]
mov byte [eax + ecx], bl
mov eax, 0xff
jg 0x44ce84
mov eax, esi
mov esi, dword [esp + 0x60]
mov byte [edx + ecx], al
mov eax, 9
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
add edi, eax
mov eax, dword [esp + 0x54]
inc eax
inc ecx
cmp eax, dword [0x4edb8c]
mov dword [esp + 0x54], eax
jl 0x44cd70
mov eax, dword [esp + 0x6c]
sub dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
sub dword [esp + 0x40], eax
mov eax, dword [esp + 0x70]
sub ecx, dword [esp + 0xc0]
inc eax
cmp eax, dword [0x4ed660]
mov dword [esp + 0x70], eax
jl 0x44cd30
jmp 0x44d103
cmp dword [0x4ed660], 0
mov dword [esp + 0x60], 0
jle 0x44d103
jmp 0x44cf00
cmp dword [0x4edb8c], 0
mov dword [esp + 0x38], 0
jle 0x44d0d7
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0xb8]
lea ebx, [edi + eax + 6]
mov dword [esp + 0x28], ebx
mov ebx, 3
sub ebx, esi
lea edi, [edi + ebx*2]
add edi, eax
mov dword [esp + 0x54], edi
movzx ebx, byte [edi + esi - 6]
movzx eax, byte [edi + esi - 3]
lea eax, [ebx + eax*2]
movzx ebx, byte [edi + esi]
add eax, ebx
movzx ebx, byte [edi - 3]
add eax, ebx
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx - 3]
add eax, ebx
movzx ebx, byte [edi - 6]
movzx edi, byte [edi]
lea eax, [ebx + eax*2]
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx - 6]
add eax, ebx
mov ebx, dword [0x58fb28]
add eax, edi
mov edi, dword [esp + 0x28]
movzx edi, byte [edi]
add eax, edi
mov edi, dword [esp + 0x48]
inc edi
sar eax, 4
mov byte [edi + ebx - 1], al
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x80]
mov bl, byte [eax + edi]
movzx edi, byte [edx + ecx]
shl edi, 8
sub edi, eax
movzx edi, byte [edi + 0x49b687]
mov byte [esp + 0x1b], bl
movzx ebx, bl
add edi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov byte [edi + ecx], bl
mov ebx, dword [esp + 0x30]
cmp ebx, 0xff
jle 0x44cfd4
mov ebx, 0xff
mov edi, dword [esp + 0x88]
mov byte [edx + ecx], bl
mov bl, byte [eax + edi]
movzx edi, byte [edx + ecx + 1]
inc ecx
shl edi, 8
sub edi, eax
movzx edi, byte [edi + 0x49b687]
mov byte [esp + 0x1b], bl
movzx ebx, bl
add edi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov byte [edi + ecx], bl
mov ebx, dword [esp + 0x30]
cmp ebx, 0xff
jle 0x44d01d
mov ebx, 0xff
mov edi, dword [esp + 0x78]
mov byte [edx + ecx], bl
mov bl, byte [eax + edi]
movzx edi, byte [edx + ecx + 1]
inc ecx
shl edi, 8
sub edi, eax
movzx edi, byte [edi + 0x49b687]
mov byte [esp + 0x1b], bl
movzx ebx, bl
add edi, ebx
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov byte [edi + ecx], bl
mov ebx, dword [esp + 0x30]
cmp ebx, 0xff
jle 0x44d063
mov ebx, 0xff
mov byte [edx + ecx], bl
inc ecx
cmp dword [0x52e5bc], 0
je 0x44d0ac
movzx edi, byte [edx + ecx]
shl edi, 8
sub edi, eax
movzx ebx, byte [edi + 0x49b687]
movzx edi, byte [edx + ecx + 1]
shl edi, 8
sub edi, eax
mov byte [edx + ecx], bl
movzx ebx, byte [edi + 0x49b687]
movzx edi, byte [edx + ecx + 2]
shl edi, 8
sub edi, eax
mov byte [edx + ecx + 1], bl
mov al, byte [edi + 0x49b687]
mov byte [edx + ecx + 2], al
mov edi, dword [esp + 0x54]
inc dword [esp + 0x38]
mov eax, 9
add dword [esp + 0x40], eax
add dword [esp + 0x28], eax
add edi, eax
mov eax, dword [esp + 0x38]
cmp eax, dword [0x4edb8c]
mov dword [esp + 0x54], edi
jl 0x44cf38
mov eax, dword [esp + 0x6c]
sub dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
sub dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
sub ecx, dword [esp + 0xc0]
inc eax
cmp eax, dword [0x4ed660]
mov dword [esp + 0x60], eax
jl 0x44cf00
cmp dword [esp + 0x7c], 0
jne 0x44d2ed
cmp dword [0x52e5bc], 0
je 0x44d1b4
cmp dword [0x58fcbc], 0
je 0x44d1b4
cmp byte [0x58f9cb], 0
je 0x44d17f
mov ecx, dword [0x49ab6c]
cmp dword [ecx + 0x514], 0
je 0x44d17f
mov edx, dword [0x496b50]
mov ecx, dword [0x4ed660]
mov eax, dword [0x54acf4]
push edx
mov edx, dword [0x54a8c4]
add eax, ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [0x4edb8c]
add edx, eax
mov eax, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x28]
push ecx
push edx
push eax
call fcn.00421f60
add esp, 0x18
jmp 0x44d22a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [0x496b50]
mov esi, dword [0x4ed660]
push 0xcc0020
push ecx
push eax
push edx
mov edx, dword [0x54acf4]
add edx, esi
mov esi, dword [0x4edb8c]
push edx
mov edx, dword [0x54a8c4]
add edx, esi
jmp 0x44d21c
cmp byte [0x58f9cb], 0
je 0x44d1f9
mov ecx, dword [0x49ab6c]
cmp dword [ecx + 0x514], 0
je 0x44d1f9
mov edx, dword [0x496b50]
mov eax, dword [0x4ed660]
mov ecx, dword [0x4edb8c]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push eax
push ecx
call fcn.00421f60
add esp, 0x18
jmp 0x44d22a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [0x496b50]
push 0xcc0020
push ecx
push eax
push edx
mov edx, dword [0x4ed660]
push edx
mov edx, dword [0x4edb8c]
push edx
push ecx
push eax
mov eax, dword [esp + 0x78]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
cmp dword [0x58fb78], 0
jne 0x44d2ed
mov esi, dword [0x4ab6b8]
cmp esi, 0xffffffff
jne 0x44d24f
mov ecx, dword [0x544640]
mov esi, dword [ecx*4 + 0x4ed554]
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
call ebx
mov edx, dword [esp + 0xcc]
lea edi, [esi + edx]
cmp edi, eax
jb 0x44d2ed
lea esp, [esp]
cmp eax, dword [esp + 0xcc]
jb 0x44d2ed
cmp dword [esp + 0xac], 0
jne 0x44d2ed
cmp dword [0x543998], 0
jne 0x44d2ed
mov esi, dword [esp + 0x44]
push esi
call fcn.004013f0
test eax, eax
je 0x44d2c1
cmp dword [0x58faec], 0
jne 0x44d2cf
call fcn.00401de0
test eax, eax
jne 0x44d2cf
cmp dword [esi + 0xa2c], 0x102
jne 0x44d2c1
cmp dword [esi + 0xa30], 0xd
je 0x44d2cf
push esi
call fcn.00461ed0
call ebx
cmp edi, eax
jae 0x44d270
jmp 0x44d2ed
cmp dword [0x58fb8c], 0
je 0x44d2e2
mov dword [0x58fb78], 1
mov dword [esp + 0xac], 1
mov eax, dword [0x544b7c]
mov ecx, dword [0x544d9c]
mov edx, dword [esp + 0x24]
mov dword [0x54b11c], eax
mov eax, dword [esp + 0x14]
mov dword [0x54aae0], ecx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x34], ecx
xor edi, edi
mov dword [esp + 0x6c], ecx
lea eax, [edx + eax + 2]
cmp dword [0x58fb94], 0
movzx edx, byte [eax]
jne 0x44d3fd
cmp edx, 0x28
jne 0x44d3e2
lea esi, [edx - 0x27]
inc eax
cmp dword [0x58fb94], 0
movzx edx, byte [eax]
jne 0x44d4a0
cmp edx, 0x28
jne 0x44d485
lea esi, [edx - 0x27]
inc eax
cmp dword [0x58fb94], 0
movzx edx, byte [eax]
jne 0x44d547
cmp edx, 0x28
jne 0x44d52c
lea esi, [edx - 0x27]
inc eax
cmp dword [0x58fb94], 0
movzx edx, byte [eax]
jne 0x44d5ee
cmp edx, 0x28
jne 0x44d5d3
lea esi, [edx - 0x27]
inc eax
mov edx, dword [esp + 0x6c]
add edx, 4
cmp edx, 0x80
mov dword [esp + 0x6c], edx
jl 0x44d31d
mov ebx, dword [0x4ab6cc]
xor edi, edi
mov byte [esp + ecx + 0xe6], 0
mov byte [esp + ecx + 0xe5], 0
mov byte [esp + ecx + 0xe4], 0
cmp dword [0x58fe34], edi
je 0x44d67a
mov eax, dword [0x4edb80]
add dword [esp + 0x10], eax
jmp 0x44d67e
cmp edx, 0x2f
jne 0x44d3ef
lea edi, [edx - 0x2e]
jmp 0x44d339
cmp edx, 0x29
jne 0x44d3fd
xor edi, edi
xor esi, esi
jmp 0x44d339
cmp edx, 0x40
je 0x44d407
cmp edx, 0x5c
jne 0x44d413
test ecx, ecx
jne 0x44d413
mov dword [esp + 0x34], 1
test edx, edx
je 0x44d3a8
cmp edx, 0x81
jl 0x44d427
cmp edx, 0x9f
jle 0x44d436
lea ebx, [edx - 0xe0]
cmp ebx, 0x1c
ja 0x44d339
test edi, edi
je 0x44d442
add eax, 2
jmp 0x44d33a
test esi, esi
jne 0x44d45f
mov byte [esp + ecx + 0xe4], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
jmp 0x44d339
movzx edx, byte [0x4ed348]
mov byte [esp + ecx + 0xe4], dl
movzx edx, byte [0x4ed349]
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
add eax, 2
jmp 0x44d33a
cmp edx, 0x2f
jne 0x44d492
lea edi, [edx - 0x2e]
jmp 0x44d356
cmp edx, 0x29
jne 0x44d4a0
xor edi, edi
xor esi, esi
jmp 0x44d356
cmp edx, 0x40
je 0x44d4aa
cmp edx, 0x5c
jne 0x44d4b6
test ecx, ecx
jne 0x44d4b6
mov dword [esp + 0x34], 1
test edx, edx
je 0x44d3a8
cmp edx, 0x81
jl 0x44d4ce
cmp edx, 0x9f
jle 0x44d4dd
lea ebx, [edx - 0xe0]
cmp ebx, 0x1c
ja 0x44d356
test edi, edi
je 0x44d4e9
add eax, 2
jmp 0x44d357
test esi, esi
jne 0x44d506
mov byte [esp + ecx + 0xe4], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
jmp 0x44d356
movzx edx, byte [0x4ed348]
mov byte [esp + ecx + 0xe4], dl
movzx edx, byte [0x4ed349]
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
add eax, 2
jmp 0x44d357
cmp edx, 0x2f
jne 0x44d539
lea edi, [edx - 0x2e]
jmp 0x44d373
cmp edx, 0x29
jne 0x44d547
xor edi, edi
xor esi, esi
jmp 0x44d373
cmp edx, 0x40
je 0x44d551
cmp edx, 0x5c
jne 0x44d55d
test ecx, ecx
jne 0x44d55d
mov dword [esp + 0x34], 1
test edx, edx
je 0x44d3a8
cmp edx, 0x81
jl 0x44d575
cmp edx, 0x9f
jle 0x44d584
lea ebx, [edx - 0xe0]
cmp ebx, 0x1c
ja 0x44d373
test edi, edi
je 0x44d590
add eax, 2
jmp 0x44d374
test esi, esi
jne 0x44d5ad
mov byte [esp + ecx + 0xe4], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
jmp 0x44d373
movzx edx, byte [0x4ed348]
mov byte [esp + ecx + 0xe4], dl
movzx edx, byte [0x4ed349]
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
add eax, 2
jmp 0x44d374
cmp edx, 0x2f
jne 0x44d5e0
lea edi, [edx - 0x2e]
jmp 0x44d390
cmp edx, 0x29
jne 0x44d5ee
xor edi, edi
xor esi, esi
jmp 0x44d390
cmp edx, 0x40
je 0x44d5f8
cmp edx, 0x5c
jne 0x44d604
test ecx, ecx
jne 0x44d604
mov dword [esp + 0x34], 1
test edx, edx
je 0x44d3a8
cmp edx, 0x81
jl 0x44d61c
cmp edx, 0x9f
jle 0x44d62b
lea ebx, [edx - 0xe0]
cmp ebx, 0x1c
ja 0x44d390
test edi, edi
je 0x44d637
add eax, 2
jmp 0x44d391
test esi, esi
jne 0x44d654
mov byte [esp + ecx + 0xe4], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
jmp 0x44d390
movzx edx, byte [0x4ed348]
mov byte [esp + ecx + 0xe4], dl
movzx edx, byte [0x4ed349]
inc ecx
mov byte [esp + ecx + 0xe4], dl
inc ecx
add eax, 2
jmp 0x44d391
add dword [esp + 0x1c], ebx
inc dword [0x544b7c]
mov dword [esp + 0x28], 3
lea esp, [esp]
cmp ecx, dword [esp + 0x28]
jle 0x44d71e
cmp byte [0x58faba], 1
je 0x44d71e
cmp byte [0x4ed348], 0
je 0x44d6de
mov al, byte [esp + edi + 0xe4]
mov dl, byte [0x4ed348]
mov esi, 0x4ed348
mov edi, edi
cmp dl, al
jne 0x44d6d4
mov dl, byte [esi + 1]
cmp dl, byte [esp + edi + 0xe5]
je 0x44d7e0
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x44d6c0
cmp byte [0x53bf38], 0
je 0x44d71e
mov al, byte [esp + edi + 0xe6]
mov dl, byte [0x53bf38]
mov esi, 0x53bf38
lea esp, [esp]
cmp dl, al
jne 0x44d714
mov dl, byte [esi + 1]
cmp dl, byte [esp + edi + 0xe7]
je 0x44d7e0
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x44d700
xor esi, esi
cmp dword [0x58fe34], esi
je 0x44d7ed
mov eax, dword [0x4ebfc4]
mov ecx, dword [0x4edb80]
dec eax
imul eax, ecx
add eax, dword [0x4ed550]
mov dword [esp + 0x6c], eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
imul eax, ecx
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jle 0x44d8ef
mov eax, dword [0x544d9c]
inc eax
cmp eax, dword [0x4ed870]
mov dword [0x544d9c], eax
mov dword [0x544b7c], esi
jl 0x44d790
push 0x487f68
push 0x487f8c
call fcn.00458fe0
mov ebx, dword [0x4ab6cc]
add esp, 8
call fcn.00456510
mov eax, dword [0x4ed870]
sub eax, dword [0x544d9c]
dec eax
imul eax, ebx
add eax, dword [0x4ebfc8]
mov dword [esp + 0x1c], eax
mov eax, dword [0x4edb80]
imul eax, dword [0x544b7c]
add eax, dword [0x4ed550]
cmp byte [esp + 0x23], 0
mov dword [esp + 0x10], eax
je 0x44d8ef
mov edx, dword [0x4edb8c]
sub edx, ebx
add dword [esp + 0x1c], edx
jmp 0x44d8ef
add edi, 2
add dword [esp + 0x28], 2
jmp 0x44d690
mov ecx, dword [0x4ed870]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
dec ecx
imul eax, ebx
add eax, dword [esp + 0x1c]
imul ecx, ebx
add ecx, dword [0x4ebfc8]
cmp eax, ecx
jle 0x44d8ef
mov eax, dword [0x544d9c]
inc eax
cmp eax, dword [0x4ebfc4]
mov dword [0x544d9c], eax
mov dword [0x544b7c], esi
jl 0x44d86b
push 0x487f3c
push 0x487f60
call fcn.00458fe0
add esp, 8
cmp dword [0x58fe34], esi
je 0x44d865
mov eax, dword [0x544d9c]
cmp eax, dword [0x4ed870]
jl 0x44d865
push 0x487f68
push 0x487f8c
call fcn.00458fe0
add esp, 8
mov ebx, dword [0x4ab6cc]
call fcn.00456510
mov cl, byte [esp + 0x23]
test cl, cl
je 0x44d8b5
cmp dword [0x58fb74], esi
je 0x44d8b5
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x4edb80]
mov eax, ebx
imul eax, dword [0x544b7c]
add eax, dword [0x4ebfc8]
mov dword [esp + 0x1c], eax
lea eax, [edx + ecx]
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
add eax, ecx
mov dword [esp + 0x10], eax
jmp 0x44d8ef
mov edx, dword [0x4edb80]
mov eax, ebx
imul eax, dword [0x544b7c]
add eax, dword [0x4ebfc8]
mov dword [esp + 0x1c], eax
mov eax, edx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x10], eax
test cl, cl
je 0x44d8ef
sub edx, dword [0x4ed660]
add dword [esp + 0x10], edx
mov esi, dword [esp + 0x14]
add esi, 2
mov eax, 0x53b170
mov dword [esp + 0x14], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44d902
sub eax, edx
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x44d93b
push 2
lea eax, [edi + 0x53b170]
push eax
lea ecx, [esp + 0xec]
push ecx
call fcn.00409a1e
add esp, 0xc
test eax, eax
je 0x44e134
add edi, 2
cmp edi, ebx
jl 0x44d913
cmp dword [esp + 0x34], 0
jne 0x44e134
xor edi, edi
cmp edi, ebx
jge 0x44e134
push 2
lea edx, [edi + 0x53b170]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.00409a1e
add esp, 0xc
test eax, eax
jne 0x44d973
cmp dword [esp + 0xa4], eax
je 0x44d978
add edi, 2
jmp 0x44d948
mov ecx, dword [0x4ebfc4]
sub ecx, dword [0x4ebfc0]
mov dword [esp + 0xa4], 0
cmp dword [0x544d9c], ecx
setl al
dec al
and al, 0x1c
add al, 0x40
cmp dword [0x58fac4], 0
mov byte [esp + 0x2f], al
je 0x44d9c5
mov eax, dword [esp + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44d9b2
sub eax, edx
mov edx, esi
sub edx, eax
add dword [0x4ec0a0], edx
dec esi
mov dword [esp + 0x14], esi
mov edi, esi
mov esi, dword [esp + 0x24]
xor ebx, ebx
jmp 0x44c3c0
mov eax, dword [0x4ab6cc]
imul eax, dword [0x544b7c]
add eax, dword [0x4ebfc8]
mov ecx, dword [0x4edb80]
mov dword [esp + 0x1c], eax
mov eax, ecx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x10], eax
test dl, dl
je 0x44da18
sub ecx, dword [0x4ed660]
add dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], eax
imul ebx, dword [0x4edb8c]
sub esi, ebx
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x1c], eax
mov dword [esp + 0x50], esi
jmp 0x44e148
inc ebx
imul ebx, eax
imul eax, dword [0x4ed870]
add ebx, dword [esp + 0x1c]
add eax, dword [0x4ebfc8]
cmp ebx, eax
jl 0x44db09
call fcn.004594d0
call fcn.00456510
mov dl, byte [esp + 0x23]
test dl, dl
je 0x44dab6
cmp dword [0x58fb74], 0
je 0x44dab6
mov edx, dword [esp + 0x4c]
mov eax, dword [0x4edb80]
mov ecx, dword [0x4ab6cc]
imul ecx, dword [0x544b7c]
add ecx, dword [0x4ebfc8]
add eax, edx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x1c], ecx
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x44dafb
mov eax, dword [0x4ab6cc]
imul eax, dword [0x544b7c]
add eax, dword [0x4ebfc8]
mov ecx, dword [0x4edb80]
mov dword [esp + 0x1c], eax
mov eax, ecx
imul eax, dword [0x544d9c]
add eax, dword [0x4ed550]
mov dword [esp + 0x10], eax
test dl, dl
je 0x44daf7
sub ecx, dword [0x4ed660]
add dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x1c], eax
jmp 0x44e148
imul ecx, dword [0x4ed660]
imul eax, dword [esp + 0x4c]
cmp eax, ecx
jle 0x44db47
sub eax, ecx
mov dword [esp + 0x50], eax
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x10], eax
jmp 0x44e148
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x10], eax
jmp 0x44e148
add dword [esp + 0x10], eax
mov ecx, dword [0x544c8c]
mov edx, dword [0x4ed664]
mov eax, dword [0x52d868]
push ecx
mov ecx, dword [esp + 0xc0]
push edx
mov edx, dword [esp + 0x4c]
push eax
push 1
push ecx
push edx
mov edx, dword [esp + 0xdc]
lea ecx, [esp + 0x2f4]
mov dword [esp + 0x68], ebx
call fcn.00443ef0
jmp 0x44e14e
cmp dword [esp + 0xc8], ebx
jne 0x44e14e
cmp dword [0x544b7c], ebx
je 0x44e14e
call fcn.00459540
jmp 0x44e14e
push ecx
call fcn.00409547
mov edx, dword [0x52e4b4]
add esp, 4
mov dword [edx*4 + 0x52d870], eax
mov ecx, dword [esp + 0x10]
mov dword [0x4963c4], eax
mov eax, dword [esp + 0x1c]
add esi, edi
mov dword [edx*4 + 0x52dd10], eax
mov dword [edx*4 + 0x53c460], ecx
mov cl, byte [esi]
mov dword [esp + 0x68], ebx
cmp cl, 0x3e
je 0x44dc2e
mov eax, edx
shl eax, 8
mov ebx, esi
add eax, 0x53c5f1
add dword [esp + 0x68], 2
mov byte [eax - 1], cl
movzx ecx, byte [ebx + 1]
add esi, 2
mov byte [eax], cl
mov cl, byte [esi]
add eax, 2
mov ebx, esi
cmp cl, 0x3e
jne 0x44dc11
mov eax, dword [esp + 0x68]
mov ecx, dword [0x4ab588]
shl edx, 8
mov byte [edx + eax + 0x53c5f0], 0
mov eax, ecx
and eax, 0x800000ff
jns 0x44dc53
dec eax
or eax, 0xffffff00
inc eax
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x80], eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and eax, 0x800000ff
jns 0x44dc7e
dec eax
or eax, 0xffffff00
inc eax
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x88], eax
mov eax, ecx
cdq
and edx, 0xffff
add eax, edx
sar eax, 0x10
and eax, 0x800000ff
jns 0x44dca9
dec eax
or eax, 0xffffff00
inc eax
shl eax, 8
add eax, 0x49b588
mov dword [esp + 0x78], eax
jmp 0x44e148
cmp dword [0x58fb78], ebx
je 0x44dccc
inc edi
mov dword [esp + 0x14], edi
jmp 0x44e14e
cmp dword [esp + 0x7c], ebx
je 0x44dd5d
cmp byte [0x58f9cb], 0
je 0x44dd23
mov edx, dword [0x49ab6c]
cmp dword [edx + 0x514], ebx
je 0x44dd23
mov ecx, dword [0x4edba0]
mov edx, dword [0x53c458]
mov eax, dword [0x496b50]
push eax
mov eax, dword [0x544434]
sub edx, ecx
inc edx
push edx
mov edx, dword [0x53b594]
sub edx, eax
inc edx
push edx
push ecx
push eax
mov eax, dword [esp + 0x6c]
push eax
call fcn.00421f60
add esp, 0x18
jmp 0x44dd5d
mov ecx, dword [0x4edba0]
mov eax, dword [0x544434]
mov edx, dword [0x496b50]
push 0xcc0020
push ecx
push eax
push edx
mov edx, dword [0x53c458]
sub edx, ecx
inc edx
push edx
mov edx, dword [0x53b594]
sub edx, eax
inc edx
push edx
push ecx
push eax
mov eax, dword [esp + 0x78]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
cmp dword [0x58fadc], ebx
jne 0x44de5a
cmp dword [0x544d90], ebx
je 0x44de5a
mov dword [esp + 0xac], ebx
cmp dword [0x58fac4], ebx
jne 0x44e216
mov eax, dword [0x4ed340]
mov dword [0x52db04], 1
cmp dword [0x4ac800], ebx
je 0x44ddb9
mov ecx, dword [0x52e2a8]
mov edx, dword [esp + 0x1c]
add ecx, edx
mov dword [0x52e850], ecx
mov ecx, dword [esp + 0x10]
add eax, ecx
jmp 0x44ddc5
mov edx, dword [0x52e2a8]
mov dword [0x52e850], edx
mov ecx, dword [esp + 0x44]
push ecx
mov dword [0x53b168], eax
mov dword [0x4ab58c], ebx
call fcn.004623f0
mov eax, dword [esp + 0xb0]
lea edx, [esp + 0x344]
push edx
push 1
push ebx
push ebx
push ebx
push 0x80
push ebx
push ebx
push ebx
push eax
mov eax, dword [esp + 0xbc]
push eax
push eax
mov eax, dword [0x4edb8c]
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [0x4ed660]
lea ecx, [eax + eax*2]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edx, dword [0x497d78]
push eax
push edx
mov dword [esp + 0x7c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [0x58faa4], ebx
jne 0x44e2ae
cmp dword [0x58fafc], ebx
jne 0x44e2ae
cmp dword [0x58fb00], ebx
jne 0x44e2ae
inc edi
mov dword [esp + 0x14], edi
jmp 0x44e14e
mov eax, dword [0x58fe38]
mov dword [0x58fb78], ebx
mov dword [0x58fe34], eax
cmp dword [0x544d90], ebx
jne 0x44de86
inc edi
mov dword [esp + 0x14], edi
jmp 0x44e14e
cmp dword [esp + 0x7c], ebx
je 0x44df15
cmp byte [0x58f9cb], 0
je 0x44dedd
mov ecx, dword [0x49ab6c]
cmp dword [ecx + 0x514], ebx
je 0x44dedd
mov edx, dword [0x496b50]
mov eax, dword [0x53c458]
mov ecx, dword [0x544434]
push edx
mov edx, dword [0x4edba0]
sub eax, edx
inc eax
push eax
mov eax, dword [0x53b594]
sub eax, ecx
inc eax
push eax
mov eax, dword [esp + 0x64]
push edx
push ecx
push eax
call fcn.00421f60
add esp, 0x18
jmp 0x44df15
mov edx, dword [0x4edba0]
mov ecx, dword [0x544434]
mov eax, dword [0x496b50]
push 0xcc0020
push edx
push ecx
push eax
mov eax, dword [0x53c458]
sub eax, edx
inc eax
push eax
mov eax, dword [0x53b594]
sub eax, ecx
inc eax
push eax
push edx
push ecx
mov ecx, dword [esp + 0x78]
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0xac], ebx
cmp dword [0x58fac4], ebx
jne 0x44e2c6
mov ecx, dword [0x4ed344]
mov dword [0x52db04], 2
cmp dword [0x4ac804], ebx
je 0x44df5a
mov edx, dword [0x52e2ac]
mov eax, dword [esp + 0x1c]
add edx, eax
mov dword [0x52e850], edx
mov edx, dword [esp + 0x10]
add ecx, edx
jmp 0x44df64
mov eax, dword [0x52e2ac]
mov dword [0x52e850], eax
mov edx, dword [esp + 0x44]
push edx
mov dword [0x53b168], ecx
mov dword [0x4ab58c], 1
call fcn.004623f0
mov ecx, dword [esp + 0xb0]
lea eax, [esp + 0x344]
push eax
mov eax, dword [esp + 0x98]
push 1
push ebx
push ebx
push ebx
push 0x80
push ebx
push ebx
push ebx
push ecx
push eax
push eax
mov eax, dword [0x4edb8c]
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [0x4ed660]
lea edx, [eax + eax*2]
push edx
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
mov dword [esp + 0x78], eax
mov eax, dword [0x497d78]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [0x58faa4], ebx
jne 0x44e35a
cmp dword [0x58fafc], ebx
jne 0x44e35a
cmp dword [0x58fb00], ebx
jne 0x44e35a
push 0x591608
call fcn.00403200
mov eax, dword [esp + 0x44]
mov ecx, dword [0x4ebfc8]
mov edx, dword [0x4ed550]
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
call fcn.00445be0
inc edi
mov dword [esp + 0xc8], 1
mov dword [esp + 0x14], edi
jmp 0x44e14e
inc edi
mov al, byte [esi + edi]
lea ecx, [esi + edi]
mov dword [esp + 0x14], edi
cmp al, 0x64
jne 0x44e076
inc edi
mov dword [esp + 0x14], edi
cmp dword [0x58fe58], ebx
je 0x44e067
mov ecx, dword [0x4ed554]
mov dword [0x4ab6b8], ecx
jmp 0x44e14e
mov dword [0x4ab6b8], 0xffffffff
jmp 0x44e14e
cmp al, 0x30
jb 0x44e091
lea ebx, [ebx]
cmp al, 0x39
ja 0x44e08d
mov al, byte [esi + edi + 1]
inc edi
cmp al, 0x30
jae 0x44e080
mov dword [esp + 0x14], edi
push ecx
call fcn.00409547
add esp, 4
mov dword [0x4ab6b8], eax
jmp 0x44e14e
inc edi
mov al, byte [esi + edi]
lea ecx, [esi + edi]
mov dword [esp + 0x14], edi
cmp al, 0x30
jb 0x44e0c4
cmp al, 0x39
ja 0x44e0c0
mov al, byte [esi + edi + 1]
inc edi
cmp al, 0x30
jae 0x44e0b3
mov dword [esp + 0x14], edi
push 1
jmp 0x44c7eb
mov eax, dword [esp + 0x24]
lea ecx, [eax + edi + 1]
push ecx
call fcn.0045a800
add esp, 4
add edi, 7
mov esi, eax
mov dword [esp + 0x14], edi
jmp 0x44c84a
cmp dword [0x54aae4], ebx
je 0x44e12b
mov edx, dword [0x59262c]
mov byte [edx + 0x59162c], cl
mov eax, dword [0x59262c]
inc eax
mov dword [0x59262c], eax
mov dword [0x591628], ebx
mov cl, byte [esi + edi + 1]
mov byte [eax + 0x59162c], cl
inc dword [0x59262c]
mov dword [0x4963a4], ebx
mov dword [0x591628], ebx
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x44e14e
xor eax, eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xa4], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
xor ebx, ebx
cmp byte [esp + 0x2f], 0
jne 0x44c3b0
cmp dword [esp + 0x7c], ebx
je 0x44e39c
cmp dword [esp + 0x64], ebx
je 0x44e39c
cmp byte [0x58f9cb], 0
je 0x44e362
mov edx, dword [0x49ab6c]
cmp dword [edx + 0x514], ebx
je 0x44e362
mov ecx, dword [0x4edba0]
mov eax, dword [0x544434]
mov edi, dword [0x53c458]
mov ebx, dword [0x53b594]
mov esi, dword [0x496b50]
sub edi, ecx
sub ebx, eax
push 0
inc edi
inc ebx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xac], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x68], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xa8]
push 0xcc0020
push eax
mov eax, dword [esp + 0x6c]
push eax
push esi
push edi
push ebx
push ecx
push edx
jmp 0x44e391
cmp byte [esi + edi + 1], 0
je 0x44e159
push 0x485a38
push 0x485a6c
call fcn.00458fe0
add esp, 8
jmp 0x44e159
mov eax, dword [0x4ab5a4]
cmp eax, 0x3e7
mov dword [0x58fac0], 1
mov dword [0x52f060], ebx
jle 0x44e249
push 0x485a74
push 0x485aa0
call fcn.00458fe0
mov eax, dword [0x4ab5a4]
add esp, 8
mov esi, dword [0x4ec0a0]
mov ecx, dword [0x52db00]
mov dword [eax*4 + 0x4ac810], esi
inc eax
xor edx, edx
mov dword [0x4ab5a4], eax
cmp byte [ecx + esi], 0xa
push 0x52fa70
sete dl
dec eax
mov dword [0x4edb7c], ebx
mov byte [0x58fb9c], 1
mov dword [0x54a8d4], eax
mov dword [0x54c2d8], edx
call fcn.00459840
mov edx, dword [esp + 0x78]
mov eax, dword [0x497d78]
add esp, 4
push edx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x44e39c
mov dword [0x58fb00], ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x84]
push eax
push ecx
jmp 0x44e3a9
mov eax, 1
mov dword [0x58fac0], eax
mov dword [0x52f060], eax
mov eax, dword [0x4ab5a4]
cmp eax, 0x3e7
mov byte [0x54c2e8], 0
jle 0x44e2ff
push str.textgosub
push 0x485adc
call fcn.00458fe0
mov eax, dword [0x4ab5a4]
add esp, 8
mov edx, dword [0x4ec0a0]
mov dword [eax*4 + 0x4ac810], edx
inc eax
mov dword [0x4ab5a4], eax
dec eax
push 0x52fa70
mov dword [0x4edb7c], ebx
mov byte [0x58fb9c], 1
mov dword [0x54a8d4], eax
call fcn.00459840
mov eax, dword [esp + 0x78]
mov ecx, dword [0x497d78]
add esp, 4
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x84]
push edx
push eax
jmp 0x44e3a9
mov dword [0x58fb00], ebx
jmp 0x44e39c
mov ecx, dword [0x4edba0]
mov eax, dword [0x544434]
mov edx, dword [0x496b50]
push 0xcc0020
push ecx
push eax
push edx
mov edx, dword [0x53c458]
sub edx, ecx
inc edx
push edx
mov edx, dword [0x53b594]
sub edx, eax
inc edx
push edx
push ecx
push eax
mov eax, dword [esp + 0x78]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x84]
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [esp + 0x450]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00407f40
mov esp, ebp
pop ebp
ret 4