Function at 0x4137c0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, dword [0x476bb34]
sub esp, 0x3fc
mov ecx, dword [eax*4 + 0x476a414]
push ebx
push ebp
push esi
cmp ecx, 9
push edi
jne 0x4137f4
mov eax, dword [0x476bbac]
test eax, eax
je 0x4137eb
push 0xffc800
jmp 0x4137f9
mov ecx, dword [0x47bd38]
push ecx
jmp 0x4137f9
push 0x1e64
mov ebp, dword [esp + 0x414]
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
push ebp
call ebx
mov ecx, dword [0x476bb34]
mov eax, 0x64
test ecx, ecx
jne 0x41381f
mov eax, 0x1e8480
jmp 0x413871
cmp ecx, 1
jne 0x41382b
mov eax, 0x895440
jmp 0x413871
cmp ecx, 2
jne 0x413837
mov eax, 0xc65d40
jmp 0x413871
cmp ecx, 3
jne 0x413843
mov eax, 0xc65d40
jmp 0x413871
cmp ecx, 4
jne 0x41384f
mov eax, 0x1036640
jmp 0x413871
cmp ecx, 5
jne 0x41385b
mov eax, 0x1312d00
jmp 0x413871
cmp ecx, 6
jne 0x413867
mov eax, 0x15ef3c0
jmp 0x413871
cmp ecx, 7
jne 0x413871
mov eax, 0x19bfcc0
cmp ecx, dword [0x47c384]
jne 0x41387e
mov eax, 0x8954400
mov ecx, dword [0x47c46c]
cmp ecx, 0xffffffff
jne 0x4138c6
mov ecx, dword [0x47c360]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
add ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
lea ecx, [esp + 0x30]
shr eax, 0x1f
add edx, eax
push edx
push str._d_kHz
push ecx
call fcn.00436cce
add esp, 0xc
jmp 0x413903
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
add ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
lea ecx, [esp + 0x30]
shr eax, 0x1f
add edx, eax
push edx
push str._d_kHz
push ecx
call fcn.00436cce
add esp, 0xc
push 0x969696
push ebp
call ebx
mov eax, dword [0x47be7c]
test eax, eax
je 0x413915
mov edx, dword [0x46c0a18]
push edx
jmp 0x41391b
mov eax, dword [0x487000]
push eax
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push ebp
call esi
push 0x4770b34
lea ecx, [esp + 0x34]
push 0x4770b30
push ecx
push ebp
call fcn.00412ed0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd0c]
not ecx
dec ecx
push ecx
mov ecx, dword [0x47bd08]
push edx
push eax
push ecx
push ebp
call fcn.00424080
mov ecx, dword [0x47bcfc]
mov edx, dword [0x47bd50]
mov eax, dword [0x47bcf8]
push edx
push ecx
lea edx, [ecx + 0x28]
push eax
push edx
lea edx, [ecx + 0x14]
push eax
push edx
lea edx, [eax - 0x14]
push edx
push ecx
push eax
push ebp
call fcn.004126a0
mov ecx, dword [0x47bd04]
mov edx, dword [0x47bd54]
mov eax, dword [0x47bd00]
add esp, 0x4c
push edx
push ecx
lea edx, [ecx + 0x28]
push eax
push edx
lea edx, [ecx + 0x14]
push eax
push edx
lea edx, [eax + 0x14]
push edx
push ecx
push eax
push ebp
call fcn.004126a0
mov eax, dword [0x1fb11cc]
add esp, 0x28
push eax
push ebp
call esi
mov ecx, dword [0x47bd3c]
push ecx
push ebp
call ebx
mov eax, dword [0x47c284]
test eax, eax
je 0x413a22
mov edx, dword [0x47bd60]
push edx
push 0
push ebp
call fcn.004127e0
lea eax, [esp + 0x3c]
push 0x48339c
push eax
call fcn.00436cce
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcbc]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcb8]
add edx, 0xfffffff1
not ecx
dec ecx
add eax, 0x69
push ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x28
mov eax, dword [0x476af10]
test eax, eax
je 0x413a7a
mov ecx, dword [0x47bd60]
push ecx
push 1
push ebp
call fcn.004127e0
lea edx, [esp + 0x3c]
push str.CONTROL
push edx
call fcn.00436cce
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcc0]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x44]
push ecx
mov ecx, dword [str.x]
add ecx, 0xfffffff1
push eax
add edx, 0x69
push ecx
push edx
push ebp
call fcn.00424080
add esp, 0x28
mov eax, dword [0x47c30c]
test eax, eax
je 0x413ad0
mov eax, dword [0x47bd60]
push eax
push 2
push ebp
call fcn.004127e0
lea ecx, [esp + 0x3c]
push 0x483390
push ecx
call fcn.00436cce
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x44]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bccc]
not ecx
dec ecx
add eax, 0xfffffff1
push ecx
mov ecx, dword [0x47bcc8]
push edx
add ecx, 0x69
push eax
push ecx
push ebp
call fcn.00424080
add esp, 0x28
mov eax, dword [0x47c320]
test eax, eax
je 0x413b27
mov edx, dword [0x47bd60]
push edx
push 3
push ebp
call fcn.004127e0
lea eax, [esp + 0x3c]
push str.RX_FOR_TX
push eax
call fcn.00436cce
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcd4]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcd0]
add edx, 0xfffffff1
not ecx
dec ecx
add eax, 0x69
push ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x28
mov eax, dword [0x47bdc8]
test eax, eax
je 0x413b39
mov ecx, dword [0x474c5c4]
push ecx
jmp 0x413b40
mov edx, dword [0x487000]
push edx
push ebp
call esi
mov eax, dword [0x476aedc]
test eax, eax
je 0x413b5b
push 0xff
push ebp
call ebx
push str.______TX______
jmp 0x413b87
mov eax, dword [0x476ad60]
test eax, eax
je 0x413b78
push 0x6e6e6e
push ebp
call ebx
lea ecx, [esp + 0x30]
push str.______RX______
push ecx
jmp 0x413b8c
mov edx, dword [0x47bd34]
push edx
push ebp
call ebx
push str.______RX______
lea eax, [esp + 0x34]
push eax
call fcn.00436cce
add esp, 8
lea ecx, [esp + 0x30]
push 0x4770b2c
push 0x4770b28
push ecx
push ebp
call fcn.00412ed0
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bce4]
not ecx
dec ecx
push ecx
mov ecx, dword [0x47bce0]
push edx
push eax
push ecx
push ebp
call fcn.00424080
mov eax, dword [0x47be40]
add esp, 0x24
test eax, eax
je 0x413be5
mov edx, dword [0x46a9864]
push edx
jmp 0x413beb
mov eax, dword [0x487000]
push eax
push ebp
call esi
mov ecx, dword [0x47bd40]
push ecx
push ebp
call ebx
mov eax, dword [0x476976c]
test eax, eax
je 0x413d6d
mov dl, byte [0x47715a0]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x30d]
mov byte [esp + 0x30c], dl
mov byte [esp + 0x1d4], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1d5]
mov edx, dword [0x47697a4]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x34]
push 0x482a18
push eax
call fcn.00436cce
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov edi, ecx
test edi, edi
jle 0x413c95
lea eax, [esp + 0x30c]
mov esi, edi
mov cl, byte [esp + edx + 0x30]
mov byte [eax], cl
inc eax
cmp esi, 7
je 0x413c88
cmp esi, 4
jne 0x413c8c
mov byte [eax], 0x20
inc eax
inc edx
dec esi
cmp edx, edi
mov byte [eax], 0
jl 0x413c77
mov edx, dword [0x47697a8]
lea eax, [esp + 0x30]
push edx
push 0x482a18
push eax
call fcn.00436cce
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov edi, ecx
test edi, edi
jle 0x413ceb
lea eax, [esp + 0x1d4]
mov esi, edi
mov cl, byte [esp + edx + 0x30]
mov byte [eax], cl
inc eax
cmp esi, 7
je 0x413cde
cmp esi, 4
jne 0x413ce2
mov byte [eax], 0x20
inc eax
inc edx
dec esi
cmp edx, edi
mov byte [eax], 0
jl 0x413ccd
mov eax, dword [0x47bc5c]
cmp eax, 0xffffffff
je 0x413d34
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x30c]
push edx
push ecx
mov ecx, dword [0x476bb30]
xor edx, edx
mov dx, word [0x476bb32]
and ecx, 0xffff
push edx
push ecx
push eax
lea edx, [esp + 0x44]
push str.__d___d_____d________s________s_bit_s
push edx
call fcn.00436cce
add esp, 0x1c
jmp 0x413dcb
lea eax, [esp + 0x1d4]
xor edx, edx
mov dx, word [0x476bb32]
push eax
mov eax, dword [0x476bb30]
lea ecx, [esp + 0x310]
push ecx
and eax, 0xffff
push edx
push eax
lea ecx, [esp + 0x40]
push str._d_____d________s________s_bit_s
push ecx
call fcn.00436cce
add esp, 0x18
jmp 0x413dcb
mov eax, dword [0x47bc5c]
cmp eax, 0xffffffff
je 0x413da3
mov ecx, dword [0x476bb30]
xor edx, edx
mov dx, word [0x476bb32]
and ecx, 0xffff
push edx
push ecx
push eax
lea edx, [esp + 0x3c]
push str.__d___d_____d
push edx
call fcn.00436cce
add esp, 0x14
jmp 0x413dcb
mov ecx, dword [0x476bb30]
xor eax, eax
mov ax, word [0x476bb32]
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x38]
push str._d_____d
push edx
call fcn.00436cce
add esp, 0x10
mov eax, dword [0x476bb88]
test eax, eax
je 0x413e26
mov eax, dword [0x4769704]
lea edx, [esp + 0x30]
test eax, eax
mov edi, 0x4832cc
je 0x413deb
mov edi, str.__Updates____Restart_program___
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x47696ec]
mov ecx, ebx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x413e26
lea eax, [esp + 0x30]
push eax
call fcn.00413600
add esp, 4
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcf4]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcf0]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
mov eax, dword [0x476bbc0]
add esp, 0x14
test eax, eax
je 0x413f9d
mov dl, byte [0x47715a0]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1d5]
mov byte [esp + 0x1d4], dl
mov byte [esp + 0x30c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x30d]
rep stosd dword es:[edi], eax
mov ecx, dword [0x476bbc8]
stosw word es:[edi], ax
lea edx, [ecx*8]
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x34]
push 0x482a18
push eax
call fcn.00436cce
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov edi, ecx
test edi, edi
jle 0x413ef4
lea eax, [esp + 0x1d4]
mov esi, edi
mov cl, byte [esp + edx + 0x30]
mov byte [eax], cl
inc eax
cmp esi, 7
je 0x413ee7
cmp esi, 4
jne 0x413eeb
mov byte [eax], 0x20
inc eax
inc edx
dec esi
cmp edx, edi
mov byte [eax], 0
jl 0x413ed6
mov edx, dword [0x476bbcc]
lea ecx, [esp + 0x30]
lea eax, [edx*8]
push eax
push 0x482a18
push ecx
call fcn.00436cce
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov edi, ecx
test edi, edi
jle 0x413f51
lea eax, [esp + 0x30c]
mov esi, edi
mov cl, byte [esp + edx + 0x30]
mov byte [eax], cl
inc eax
cmp esi, 7
je 0x413f44
cmp esi, 4
jne 0x413f48
mov byte [eax], 0x20
inc eax
inc edx
dec esi
cmp edx, edi
mov byte [eax], 0
jl 0x413f33
lea edx, [esp + 0x30c]
lea eax, [esp + 0x1d4]
push edx
push eax
lea ecx, [esp + 0x38]
push str._s____s
push ecx
call fcn.00436cce
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcf4]
not ecx
dec ecx
add eax, 0xffffffe2
push ecx
mov ecx, dword [0x47bcf0]
push edx
push eax
push ecx
push ebp
call fcn.00424080
add esp, 0x24
mov al, byte [0x47715a0]
mov ecx, 0x16
mov byte [esp + 0x170], al
xor eax, eax
lea edi, [esp + 0x171]
mov edx, dword [0x476a64]
rep stosd dword es:[edi], eax
mov esi, dword [0x476a60]
mov ebx, dword [0x476a68]
stosb byte es:[edi], al
mov eax, dword [0x47bef4]
mov dword [esp + 0x10], 0
test eax, eax
mov dword [esp + 0x14], edx
je 0x413fea
mov ecx, dword [0x3e9dda0]
push ecx
jmp 0x413ff1
mov edx, dword [0x1f822cc]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [esp + 0x2d4]
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x2e4]
mov eax, dword [0x47c46c]
add ecx, edx
cmp eax, 0x64
mov dword [0x47c470], ecx
jne 0x414084
mov edx, dword [0x476bb54]
test edx, edx
je 0x4140c8
mov edx, dword [0x4769770]
test edx, edx
jne 0x4140c8
mov edx, dword [0x476bb5c]
test edx, edx
je 0x4140c8
lea eax, [esp + 0x170]
push 0x483294
push eax
mov dword [esp + 0x18], ecx
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x41407f
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
cmp eax, 0xc8
jne 0x4140c8
mov edx, dword [0x47c470]
lea eax, [esp + 0x170]
push 0x483284
push eax
mov dword [esp + 0x18], edx
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x4140c3
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
mov ecx, dword [0x4770adc]
test ecx, ecx
je 0x414120
mov cl, byte [0x4770ae0]
test cl, cl
je 0x414120
mov edi, dword [0x47c470]
push 0x4770ae0
lea edx, [esp + 0x174]
push 0x482aa0
push edx
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x414119
lea eax, [esp + 0x170]
push eax
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
jmp 0x414124
mov edi, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*8]
lea ecx, [eax + edx*2]
mov dl, byte [ecx + 0x4ef8f0]
test dl, dl
je 0x41417b
mov edi, dword [0x47c470]
lea eax, [ecx + 0x4ef8f3]
push eax
lea ecx, [esp + 0x174]
push 0x482aa0
push ecx
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x414176
lea edx, [esp + 0x170]
push edx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
cmp eax, esi
jle 0x414270
cmp eax, dword [esp + 0x14]
jge 0x414270
mov edi, dword [0x47c470]
cmp eax, ebx
mov eax, dword [0x4769770]
mov dword [esp + 0x10], edi
jne 0x4141d3
test eax, eax
jne 0x4141d7
lea eax, [esp + 0x170]
push 0x483274
push eax
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x414316
lea ecx, [esp + 0x170]
push ecx
jmp 0x41430e
test eax, eax
je 0x4141e6
lea edx, [esp + 0x170]
push 0x483244
push edx
jmp 0x4141f3
lea eax, [esp + 0x170]
push 0x483228
push eax
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x414214
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
lea edx, [eax + eax*4]
lea ecx, [eax + edx*8]
lea ecx, [eax + ecx*2]
mov dl, byte [ecx + 0x4ef8f0]
test dl, dl
je 0x41431b
mov edi, dword [0x47c470]
lea edx, [ecx + 0x4ef8f3]
push edx
lea eax, [esp + 0x174]
push 0x482aa0
push eax
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x414316
lea ecx, [esp + 0x170]
push ecx
jmp 0x41430e
cmp eax, 0xffffffff
je 0x41431b
mov ecx, dword [0x4769770]
test ecx, ecx
je 0x41431b
mov edi, dword [0x47c470]
lea edx, [esp + 0x170]
push 0x483210
push edx
mov dword [esp + 0x18], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x4142bf
lea eax, [esp + 0x170]
push eax
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*8]
lea ecx, [eax + edx*2]
mov dl, byte [ecx + 0x4ef8f0]
test dl, dl
je 0x41431b
mov edi, dword [0x47c470]
lea eax, [ecx + 0x4ef8f3]
push eax
lea ecx, [esp + 0x174]
push 0x482aa0
push ecx
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x414316
lea edx, [esp + 0x170]
push edx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
test eax, eax
jl 0x4143ea
cmp eax, 0xa
jge 0x4143ea
mov ecx, dword [0x476bb54]
test ecx, ecx
je 0x4143ea
mov ecx, dword [0x4769770]
test ecx, ecx
jne 0x4143ea
mov ecx, dword [0x476bb5c]
test ecx, ecx
je 0x4143ea
mov edi, dword [0x47c470]
lea eax, [esp + 0x170]
push 0x4831f4
push eax
mov dword [esp + 0x18], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x41438e
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
lea edx, [eax + eax*4]
lea ecx, [eax + edx*8]
lea ecx, [eax + ecx*2]
mov dl, byte [ecx + 0x4ef8f0]
test dl, dl
je 0x4143ea
mov edi, dword [0x47c470]
lea edx, [ecx + 0x4ef8f3]
push edx
lea eax, [esp + 0x174]
push 0x482aa0
push eax
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x4143e5
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
cmp eax, 0xbe
jl 0x4144be
cmp eax, 0xc8
jge 0x4144be
mov ecx, dword [0x476bb54]
test ecx, ecx
je 0x4144be
mov ecx, dword [0x4769770]
test ecx, ecx
jne 0x4144be
mov ecx, dword [0x476bb5c]
test ecx, ecx
je 0x4144be
mov edi, dword [0x47c470]
lea edx, [esp + 0x170]
push 0x4831d8
push edx
mov dword [esp + 0x18], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x414462
lea eax, [esp + 0x170]
push eax
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*8]
lea ecx, [eax + edx*2]
mov dl, byte [ecx + 0x4ef8f0]
test dl, dl
je 0x4144be
mov edi, dword [0x47c470]
lea eax, [ecx + 0x4ef8f3]
push eax
lea ecx, [esp + 0x174]
push 0x482aa0
push ecx
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x4144b9
lea edx, [esp + 0x170]
push edx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
cmp eax, 0xba
jl 0x41458a
cmp eax, 0xbc
jg 0x41458a
mov eax, dword [0x476bb54]
test eax, eax
je 0x41458a
mov eax, dword [0x4769770]
test eax, eax
jne 0x41458a
mov eax, dword [0x476bb5c]
test eax, eax
je 0x41458a
mov edi, dword [0x47c470]
lea eax, [esp + 0x170]
push 0x4831b0
push eax
mov dword [esp + 0x18], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 8
test eax, eax
je 0x414533
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
mov eax, dword [0x47c46c]
lea edx, [eax + eax*4]
lea ecx, [eax + edx*8]
lea eax, [eax + ecx*2]
mov cl, byte [eax + 0x4ef8f0]
test cl, cl
je 0x41458a
mov edi, dword [0x47c470]
lea edx, [eax + 0x4ef8f3]
push edx
lea eax, [esp + 0x174]
push 0x482aa0
push eax
mov dword [esp + 0x1c], edi
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x41458a
lea ecx, [esp + 0x170]
push ecx
call fcn.00413600
add esp, 4
xor ecx, ecx
mov eax, 0x1f8fb70
cmp byte [eax], 0
je 0x414597
inc ecx
add eax, 0x5a
cmp eax, 0x1fa5b00
jl 0x414591
test ecx, ecx
mov dword [0x4770ad8], ecx
jne 0x4145b3
test edi, edi
je 0x414cb8
mov edx, dword [0x32f9204]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0x4770b3c
push 0x4770b38
push str._000_
push ebp
call fcn.00412ed0
mov eax, dword [0x47bd44]
add esp, 0x10
push eax
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0
push ebp
call dword [sym.imp.GDI32.dll_SetBkColor]
test edi, edi
je 0x414626
lea edi, [esp + 0x170]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd2c]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd28]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov eax, dword [0x47c46c]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x414b3e
xor eax, eax
mov dword [esp + 0x18], 0x330ec38
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, 0x1f8fb79
mov dword [esp + 0x28], 0x4b5b78
mov dword [esp + 0x1c], eax
mov cl, byte [eax - 9]
test cl, cl
je 0x414b1e
mov edx, dword [0x47c360]
xor ecx, ecx
mov cl, byte [eax - 2]
cmp edx, ecx
je 0x414683
mov ecx, dword [0x476ae90]
test ecx, ecx
je 0x414b1e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [0x47c340]
mov bl, byte [edx + 0x50]
cmp eax, ecx
mov byte [esp + 0x14], bl
jne 0x4146a6
mov bl, byte [0x47c35c]
mov byte [esp + 0x14], bl
mov eax, dword [esp + 0x14]
and eax, 0xf
cmp eax, 0xe
ja case.0x4146b6.1
jmp dword [eax*4 + 0x415dcc]
lea ecx, [esp + 0x130]
push str.16b_24000
push ecx
jmp 0x414748
push 0x483194
jmp 0x414740
lea eax, [esp + 0x130]
push 0x48318c
push eax
jmp 0x414748
lea ecx, [esp + 0x130]
push 0x483184
push ecx
jmp 0x414748
push 0x48317c
jmp 0x414740
lea eax, [esp + 0x130]
push 0x483174
push eax
jmp 0x414748
lea ecx, [esp + 0x130]
push str.16b_6000
push ecx
jmp 0x414748
push str.16b_8000
jmp 0x414740
lea eax, [esp + 0x130]
push str.16b_12000
push eax
jmp 0x414748
lea ecx, [esp + 0x130]
push 0x48314c
push ecx
jmp 0x414748
push str.24000
lea edx, [esp + 0x134]
push edx
call fcn.00436cce
mov al, bl
add esp, 8
and al, 0xf
cmp al, 0xd
je 0x4147a1
test bl, 0x10
je 0x414770
test bl, 0x20
je 0x414770
lea edx, [esp + 0x130]
mov edi, 0x482fac
jmp 0x41477c
lea edx, [esp + 0x130]
mov edi, 0x482fc0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x24]
mov eax, dword [0x47c340]
cmp edx, eax
jne 0x4148fb
mov al, byte [0x4769748]
cmp al, bl
je 0x4148fb
cmp al, 0xff
je 0x4148fb
and eax, 0xf
add eax, 0xfffffffe
cmp eax, 0xc
ja case.0x4147d2.7
jmp dword [eax*4 + 0x415e08]
push str.___12000
jmp 0x41484d
lea ecx, [esp + 0x150]
push str.___8000
push ecx
jmp 0x414855
lea edx, [esp + 0x150]
push str.___6000
push edx
jmp 0x414855
push str.___4800
jmp 0x41484d
lea ecx, [esp + 0x150]
push str.___4000
push ecx
jmp 0x414855
lea edx, [esp + 0x150]
push str.___16b_6000
push edx
jmp 0x414855
push str.___16b_8000
jmp 0x41484d
lea ecx, [esp + 0x150]
push str.___16b_12000
push ecx
jmp 0x414855
lea edx, [esp + 0x150]
push str.___gsm
push edx
jmp 0x414855
push str.___24000
lea eax, [esp + 0x154]
push eax
call fcn.00436cce
mov cl, byte [0x4769748]
add esp, 8
mov al, cl
and al, 0xf
cmp al, 0xd
je 0x4148c4
cmp al, 0xa
jb 0x41487b
cmp al, 0xb
je 0x41487b
cmp al, 0xc
je 0x41487b
cmp al, 0xe
jne 0x4148c4
test cl, 0x10
je 0x414893
test cl, 0x20
je 0x414893
lea edx, [esp + 0x150]
mov edi, 0x482fac
jmp 0x41489f
lea edx, [esp + 0x150]
mov edi, 0x482fc0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x150]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x130]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x24]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or esi, 0xffffffff
xor ecx, ecx
mov eax, 0x46d5b48
mov edi, dword [eax + 2]
test edi, edi
je 0x414915
xor edi, edi
mov di, word [eax]
cmp edi, edx
je 0x414924
add eax, 0x15a2a
inc ecx
cmp eax, 0x4741e1a
jl 0x414905
jmp 0x414926
mov esi, ecx
mov eax, dword [0x47c14c]
test eax, eax
je 0x4149d1
mov eax, dword [esp + 0x1c]
test byte [eax - 1], 3
je 0x414962
mov ecx, eax
lea edx, [esp + 0x130]
push ecx
push edx
lea eax, [esp + 0x1dc]
push str._XXX___s__s
push eax
call fcn.00436cce
add esp, 0x10
jmp 0x4149eb
mov eax, dword [0x476aec0]
test eax, eax
je 0x4149a8
cmp esi, 0xffffffff
je 0x4149a8
push esi
call fcn.00409040
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x134]
push ecx
mov ecx, dword [esi*4 + 0x679e94]
push edx
mov edx, dword [esp + 0x30]
push ecx
push eax
push edx
lea eax, [esp + 0x1ec]
push str.__03d__d__d____s__s
push eax
call fcn.00436cce
add esp, 0x20
jmp 0x4149eb
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x130]
push ecx
push edx
push eax
lea ecx, [esp + 0x1e0]
push str.__03d___s__s
push ecx
call fcn.00436cce
add esp, 0x14
jmp 0x4149eb
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x1d4]
push edx
push 0x482aa0
push eax
call fcn.00436cce
add esp, 0xc
mov eax, dword [0x47696ec]
test eax, eax
je 0x414a04
lea ecx, [esp + 0x1d4]
push ecx
call fcn.00413600
add esp, 4
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x1c]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax - 8]
mov al, byte [eax - 1]
test al, 0xf0
mov dword [edx], ecx
je 0x414ab9
and eax, 0xff
sub eax, 0x10
je 0x414a60
sub eax, 0x10
je 0x414a52
sub eax, 0x60
je 0x414a59
push 0x431dff
jmp 0x414a65
push 0xff1dff
jmp 0x414a65
push 0xff
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
push ebp
call ebx
mov esi, eax
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x24]
imul ecx, dword [0x47c470]
lea eax, [esp + 0x1d8]
mov edx, dword [0x47bd28]
push eax
mov eax, dword [0x47bd2c]
add ecx, eax
add ecx, edi
push ecx
push edx
push ebp
call fcn.00424080
add esp, 0x14
push esi
push ebp
call ebx
jmp 0x414afb
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x1d4]
push ecx
mov ecx, dword [esp + 0x24]
imul ecx, dword [0x47c470]
mov edx, dword [0x47bd28]
push eax
add ecx, dword [0x47bd2c]
add ecx, ebx
push ecx
push edx
push ebp
call fcn.00424080
add esp, 0x14
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
inc edx
add ecx, 0x64
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x24]
add eax, 0x5a
inc esi
cmp eax, 0x1fa5b09
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], eax
jl 0x41465b
jmp 0x414cb8
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0x4b5b78
mov ebx, 0x1f8fb77
mov al, byte [ebx - 7]
test al, al
je 0x414ca9
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x414ca9
cmp eax, 0xc8
jge 0x414ca9
xor ecx, ecx
mov cl, byte [ebx]
cmp eax, ecx
jne 0x414ca9
lea edx, [ebx + 2]
lea eax, [esp + 0x1d4]
push edx
push str.__s
push eax
call fcn.00436cce
mov eax, dword [0x47696ec]
add esp, 0xc
test eax, eax
je 0x414bb3
lea ecx, [esp + 0x1d4]
push ecx
call fcn.00413600
add esp, 4
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov al, byte [ebx + 1]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test al, 0xf0
rep movsb byte es:[edi], byte [esi]
je 0x414c51
cmp al, 0x10
je 0x414bf6
cmp al, 0x20
je 0x414bef
push 0x55ff
jmp 0x414bfb
push 0x7f00ff
jmp 0x414bfb
push 0xff
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, eax
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x24]
imul ecx, dword [0x47c470]
lea eax, [esp + 0x1d8]
mov edx, dword [0x47bd28]
push eax
mov eax, dword [0x47bd2c]
add ecx, eax
add ecx, edi
push ecx
push edx
push ebp
call fcn.00424080
add esp, 0x14
push esi
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x414c95
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd2c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x1d4]
push ecx
mov ecx, dword [esp + 0x24]
imul ecx, dword [0x47c470]
push eax
mov eax, dword [esp + 0x18]
add ecx, edx
mov edx, dword [0x47bd28]
add ecx, eax
push ecx
push edx
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc ecx
add eax, 0x64
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
add ebx, 0x5a
cmp ebx, 0x1fa5b07
jl 0x414b53
mov eax, dword [0x47be04]
test eax, eax
je 0x414cc9
mov eax, dword [0x4731e20]
push eax
jmp 0x414cd0
mov ecx, dword [0x1fa5b00]
push ecx
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push ebp
call edi
mov edx, dword [0x47bd4c]
mov dword [esp + 0x14], eax
push edx
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x47bd68]
mov ebx, dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov esi, 2
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea edx, [eax*8 + 6]
cmp edx, esi
jle 0x414fc3
mov eax, dword [0x476bb34]
test eax, eax
jne 0x414d43
lea eax, [esi - 2]
cdq
idiv ecx
lea ecx, [esp + 0x30]
add eax, 0xc8
lea eax, [eax + eax*4]
shl eax, 1
push eax
push 0x482a18
push ecx
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 1
jne 0x414d75
lea eax, [esi - 2]
cdq
idiv ecx
add eax, 0x384
lea edx, [eax + eax*4]
lea eax, [esp + 0x30]
shl edx, 1
push edx
push 0x482a18
push eax
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 2
jne 0x414da7
lea eax, [esi - 2]
cdq
idiv ecx
lea edx, [esp + 0x30]
add eax, 0x514
lea ecx, [eax + eax*4]
shl ecx, 1
push ecx
push 0x482a18
push edx
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 3
jne 0x414dd9
lea eax, [esi - 2]
cdq
idiv ecx
lea ecx, [esp + 0x30]
add eax, 0x514
lea eax, [eax + eax*4]
shl eax, 1
push eax
push 0x482a18
push ecx
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 4
jne 0x414e0b
lea eax, [esi - 2]
cdq
idiv ecx
add eax, 0x6a4
lea edx, [eax + eax*4]
lea eax, [esp + 0x30]
shl edx, 1
push edx
push 0x482a18
push eax
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 5
jne 0x414e3d
lea eax, [esi - 2]
cdq
idiv ecx
lea edx, [esp + 0x30]
add eax, 0x7d0
lea ecx, [eax + eax*4]
shl ecx, 1
push ecx
push 0x482a18
push edx
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 6
jne 0x414e6f
lea eax, [esi - 2]
cdq
idiv ecx
lea ecx, [esp + 0x30]
add eax, 0x8fc
lea eax, [eax + eax*4]
shl eax, 1
push eax
push 0x482a18
push ecx
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
cmp dword [0x476bb34], 7
jne 0x414ea1
lea eax, [esi - 2]
cdq
idiv ecx
add eax, 0xa8c
lea edx, [eax + eax*4]
lea eax, [esp + 0x30]
shl edx, 1
push edx
push 0x482a18
push eax
call fcn.00436cce
mov ecx, dword [0x47bd68]
add esp, 0xc
mov edx, dword [0x476bb34]
mov eax, dword [0x47c384]
cmp edx, eax
jne 0x414ed3
lea eax, [esi - 2]
cdq
idiv ecx
lea ecx, [esp + 0x30]
add eax, 0x3840
lea eax, [eax + eax*4]
shl eax, 1
push eax
push 0x482a18
push ecx
call fcn.00436cce
add esp, 0xc
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1cc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + 0x34]
push ecx
push eax
push ebp
call ebx
cmp esi, 2
jne 0x414f1f
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcec]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bce8]
add edx, 0x19
not ecx
dec ecx
add eax, esi
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
jmp 0x414f93
mov eax, dword [0x47bd68]
lea edi, [esp + 0x30]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 2]
cmp esi, edx
jne 0x414f62
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, dword [0x47bce8]
push ecx
mov ecx, dword [0x47bcec]
lea eax, [esp + 0x34]
add ecx, 0x19
push eax
push ecx
sub edx, dword [esp + 0x1d8]
jmp 0x414f90
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x30]
push ecx
mov ecx, dword [0x47bcec]
push eax
mov eax, dword [esp + 0x1d4]
cdq
sub eax, edx
mov edx, dword [0x47bce8]
add ecx, 0x19
sar eax, 1
push ecx
sub edx, eax
add edx, esi
push edx
push ebp
call fcn.00424080
mov ecx, dword [0x47bd68]
add esi, 0xc8
add esp, 0x14
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea edx, [eax*8 + 6]
cmp esi, edx
jl 0x414d11
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x47beb8]
test eax, eax
je 0x414fd4
mov eax, dword [0x679e08]
push eax
jmp 0x414fdb
mov ecx, dword [0x1f822cc]
push ecx
push ebp
call edi
mov eax, dword [0x47c384]
xor ebx, ebx
test eax, eax
je 0x415067
mov eax, dword [0x476bb34]
test eax, eax
jne 0x414ffb
mov edx, dword [0x47bd48]
push edx
jmp 0x415000
push 0x969696
mov esi, dword [sym.imp.GDI32.dll_SetTextColor]
push ebp
call esi
lea eax, [esp + 0x30]
push 0x4830a0
push eax
call fcn.00436cce
push 0x4770b7c
lea ecx, [esp + 0x3c]
push 0x4770b40
push ecx
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b7c]
add esp, 0x18
test eax, eax
jle 0x41503b
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd14]
not ecx
dec ecx
push ecx
mov ecx, dword [0x47bd10]
push edx
push eax
push ecx
push ebp
call fcn.00424080
add esp, 0x14
jmp 0x41506d
mov esi, dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x47c384]
mov eax, 1
cmp ecx, eax
jle 0x4150fb
cmp dword [0x476bb34], eax
jne 0x41508d
mov edx, dword [0x47bd48]
push edx
jmp 0x415092
push 0x969696
push ebp
call esi
lea eax, [esp + 0x30]
push 0x48309c
push eax
call fcn.00436cce
push 0x4770b80
lea ecx, [esp + 0x3c]
push 0x4770b44
push ecx
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b80]
add esp, 0x18
cmp ebx, eax
jge 0x4150c7
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd14]
not ecx
dec ecx
push ecx
mov ecx, dword [0x47bd10]
push edx
mov edx, dword [0x4770b40]
push eax
lea eax, [edx + ecx + 0xf]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 2
cmp ecx, eax
jle 0x415195
cmp dword [0x476bb34], eax
jne 0x41511f
mov ecx, dword [0x47bd48]
push ecx
jmp 0x415124
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x483098
push edx
call fcn.00436cce
push 0x4770b84
lea eax, [esp + 0x3c]
push 0x4770b48
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b84]
add esp, 0x18
cmp ebx, eax
jge 0x415159
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b40]
dec ecx
push ecx
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x4770b44]
push edx
mov edx, dword [0x47bd10]
add ecx, eax
lea eax, [ecx + edx + 0x1e]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 3
cmp ecx, eax
jle 0x415237
cmp dword [0x476bb34], eax
jne 0x4151b9
mov ecx, dword [0x47bd48]
push ecx
jmp 0x4151be
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x483098
push edx
call fcn.00436cce
push 0x4770b88
lea eax, [esp + 0x3c]
push 0x4770b4c
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b88]
add esp, 0x18
cmp ebx, eax
jge 0x4151f3
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b44]
dec ecx
mov edi, dword [0x4770b40]
push ecx
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x4770b48]
add ecx, eax
push edx
mov edx, dword [0x47bd10]
add ecx, edi
lea eax, [ecx + edx + 0x2d]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 4
cmp ecx, eax
jle 0x4152df
cmp dword [0x476bb34], eax
jne 0x41525b
mov ecx, dword [0x47bd48]
push ecx
jmp 0x415260
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x483094
push edx
call fcn.00436cce
push 0x4770b8c
lea eax, [esp + 0x3c]
push 0x4770b50
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b8c]
add esp, 0x18
cmp ebx, eax
jge 0x415295
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b48]
dec ecx
push ecx
lea ecx, [esp + 0x34]
mov edi, dword [0x4770b40]
push ecx
mov ecx, dword [0x4770b4c]
push edx
mov edx, dword [0x47bd10]
add ecx, eax
add ecx, dword [0x4770b44]
add ecx, edi
lea eax, [ecx + edx + 0x3c]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 5
cmp ecx, eax
jle 0x415390
cmp dword [0x476bb34], eax
jne 0x415303
mov ecx, dword [0x47bd48]
push ecx
jmp 0x415308
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x483090
push edx
call fcn.00436cce
push 0x4770b90
lea eax, [esp + 0x3c]
push 0x4770b54
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b90]
add esp, 0x18
cmp ebx, eax
jge 0x41533d
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b4c]
dec ecx
push ecx
lea ecx, [esp + 0x34]
mov edi, dword [0x4770b40]
push ecx
mov ecx, dword [0x4770b50]
push edx
mov edx, dword [0x4770b48]
add ecx, eax
mov eax, dword [0x4770b44]
add ecx, edx
mov edx, dword [0x47bd10]
add ecx, eax
add ecx, edi
lea eax, [ecx + edx + 0x4b]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 6
cmp ecx, eax
jle 0x415449
cmp dword [0x476bb34], eax
jne 0x4153b4
mov ecx, dword [0x47bd48]
push ecx
jmp 0x4153b9
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x48308c
push edx
call fcn.00436cce
push 0x4770b94
lea eax, [esp + 0x3c]
push 0x4770b58
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b94]
add esp, 0x18
cmp ebx, eax
jge 0x4153ee
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b50]
dec ecx
mov edi, dword [0x4770b4c]
push ecx
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x4770b54]
add ecx, eax
mov eax, dword [0x4770b44]
push edx
mov edx, dword [0x4770b48]
add ecx, edi
mov edi, dword [0x4770b40]
add ecx, edx
mov edx, dword [0x47bd10]
add ecx, eax
add ecx, edi
lea eax, [ecx + edx + 0x5a]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov ecx, dword [0x47c384]
mov eax, 7
cmp ecx, eax
jle 0x415509
cmp dword [0x476bb34], eax
jne 0x41546d
mov ecx, dword [0x47bd48]
push ecx
jmp 0x415472
push 0x969696
push ebp
call esi
lea edx, [esp + 0x30]
push 0x483088
push edx
call fcn.00436cce
push 0x4770b98
lea eax, [esp + 0x3c]
push 0x4770b5c
push eax
push ebp
call fcn.00412ed0
mov eax, dword [0x4770b98]
add esp, 0x18
cmp ebx, eax
jge 0x4154a7
mov ebx, eax
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [0x4770b54]
dec ecx
push ecx
lea ecx, [esp + 0x34]
mov edi, dword [0x4770b4c]
push ecx
mov ecx, dword [0x4770b58]
push edx
mov edx, dword [0x4770b48]
add ecx, eax
mov eax, dword [0x4770b50]
add ecx, eax
mov eax, dword [0x4770b44]
add ecx, edi
mov edi, dword [0x4770b40]
add ecx, edx
mov edx, dword [0x47bd10]
add ecx, eax
add ecx, edi
lea eax, [ecx + edx + 0x69]
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov eax, dword [0x476bb3c]
test eax, eax
je 0x4155c5
mov ecx, dword [0x47c384]
mov eax, dword [0x476bb34]
cmp eax, ecx
jne 0x41552e
mov edx, dword [0x47bd48]
push edx
jmp 0x415533
push 0x966464
push ebp
call esi
lea eax, [esp + 0x30]
push 0x483080
push eax
call fcn.00436cce
push 0x4770bc0
lea ecx, [esp + 0x3c]
push 0x4770bbc
push ecx
push ebp
call fcn.00412ed0
mov eax, dword [0x4770bc0]
add esp, 0x18
cmp ebx, eax
jge 0x415568
mov ebx, eax
mov esi, dword [0x47c384]
mov edx, dword [0x47bd10]
test esi, esi
je 0x41557b
add edx, 0xf
xor eax, eax
test esi, esi
jle 0x41559a
lea edi, [esi - 1]
mov ecx, 0x4770b40
add edx, dword [ecx]
cmp eax, edi
jge 0x415592
add edx, 0xf
inc eax
add ecx, 4
cmp eax, esi
jl 0x415589
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x30]
push ecx
mov ecx, dword [0x47bd14]
push eax
push ecx
push edx
push ebp
call fcn.00424080
mov esi, dword [sym.imp.GDI32.dll_SetTextColor]
add esp, 0x14
mov eax, dword [0x47697b4]
mov dword [0x4770bb8], ebx
test eax, eax
je 0x4158b4
lea edx, [esp + 0x30]
push 0x482944
push edx
call fcn.00436cce
add esp, 8
push 0xff
push ebp
call esi
mov eax, dword [0x1f822cc]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [0x47c284]
test eax, eax
je 0x415638
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcbc]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcb8]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov eax, dword [0x476af10]
test eax, eax
je 0x415671
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [str.x]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcc0]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov eax, dword [0x47c30c]
test eax, eax
je 0x4156aa
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bccc]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcc8]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x14
mov eax, dword [0x47c320]
test eax, eax
je 0x4156e3
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcd4]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcd0]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x14
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bce4]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bce0]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcec]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bce8]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x58]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcf4]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcf0]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x5c]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bcfc]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bcf8]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x70]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x80]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x50
repne scasb al, byte es:[edi]
mov edx, dword [0x47bd04]
not ecx
dec ecx
add edx, 0xfffffffb
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
mov eax, dword [0x47bd00]
add eax, 0xfffffffc
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd0c]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd08]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x58]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd14]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd10]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x5c]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47bd1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x47bd18]
add edx, 0xfffffffb
not ecx
dec ecx
add eax, 0xfffffffc
push ecx
lea ecx, [esp + 0x70]
push ecx
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x80]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x50
repne scasb al, byte es:[edi]
mov edx, dword [0x47bd2c]
mov eax, dword [0x47bd28]
not ecx
dec ecx
add edx, 0xfffffffb
push ecx
lea ecx, [esp + 0x34]
push ecx
add eax, 0xfffffffc
push edx
push eax
push ebp
call fcn.00424080
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, dword [0x47bd24]
mov eax, dword [0x47bd20]
lea ecx, [esp + 0x48]
add edx, 0xfffffffb
push ecx
add eax, 0xfffffffc
push edx
push eax
push ebp
call fcn.00424080
add esp, 0x28
mov ax, word [0x476bb68]
test ax, ax
je 0x41593b
xor esi, esi
test ax, ax
jle 0x41593b
mov ebx, dword [sym.imp.GDI32.dll_SetPixel]
mov edi, dword [0x476bb64]
xor edx, edx
mov ax, word [edi + esi*4 + 2]
mov cx, ax
shr cx, 0xa
shl cl, 3
mov dh, cl
mov ecx, eax
shr ecx, 5
shl cl, 3
mov dl, cl
mov ecx, dword [0x4771a0]
shl al, 3
shl edx, 8
and eax, 0xff
or edx, eax
movsx eax, word [0x476bb6c]
push edx
xor edx, edx
mov dl, byte [edi + esi*4 + 1]
sub edx, eax
add edx, ecx
movsx ecx, word [0x476bb6a]
push edx
xor edx, edx
mov dl, byte [edi + esi*4]
sub edx, ecx
mov ecx, dword [0x47719c]
add edx, ecx
push edx
push ebp
call ebx
movsx eax, word [0x476bb68]
inc esi
cmp esi, eax
jl 0x4158cc
mov eax, dword [0x476bbd8]
test eax, eax
je 0x415a21
mov ecx, dword [0x476bbdc]
lea edx, [esp + 0x30]
inc ecx
push ecx
push str.Vid__d
push edx
call fcn.00436cce
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
add esp, 0xc
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x30]
push ecx
push eax
push 1
push 1
push ebp
call fcn.00424080
mov eax, dword [0x4769714]
mov esi, dword [sym.imp.GDI32.dll_TextOutA]
add esp, 0x14
test eax, eax
je 0x4159da
lea ecx, [esp + 0x30]
push str.REC_RECV
push ecx
call fcn.00436cce
add esp, 8
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
mov eax, dword [0x47c470]
not ecx
dec ecx
inc eax
push ecx
push edx
push eax
push 1
push ebp
call esi
mov eax, dword [0x4769710]
test eax, eax
je 0x415ab1
lea ecx, [esp + 0x30]
push str.REC_SEND
push ecx
call fcn.00436cce
add esp, 8
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
mov eax, dword [0x47c470]
not ecx
dec ecx
inc eax
push ecx
push edx
push eax
jmp 0x415aac
mov eax, dword [0x4769714]
mov esi, dword [sym.imp.GDI32.dll_TextOutA]
test eax, eax
je 0x415a6d
lea ecx, [esp + 0x30]
push str.REC_RECV
push ecx
call fcn.00436cce
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
add esp, 8
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push 1
push 1
push ebp
call esi
jmp 0x415a73
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [0x4769710]
test eax, eax
je 0x415ab1
lea eax, [esp + 0x30]
push str.REC_SEND
push eax
call fcn.00436cce
add esp, 8
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x34]
push ecx
push 1
push 1
push ebp
call esi
mov eax, dword [0x679e74]
test eax, eax
je 0x415b06
mov eax, dword [0x679e6c]
test eax, eax
je 0x415b06
mov edx, dword [0x1f821a0]
lea eax, [esp + 0x30]
push edx
push 0x48305c
push eax
call fcn.00436cce
add esp, 0xc
push 0xff
push ebp
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47719c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, 0xffffffe7
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
push edx
push ebp
call esi
mov eax, dword [0x476ae90]
test eax, eax
je 0x415db4
mov eax, dword [0x476973c]
test al, al
jne 0x415b23
mov edi, 0x1e8480
jmp 0x415b72
cmp al, 1
jne 0x415b2e
mov edi, 0x895440
jmp 0x415b72
cmp al, 2
jne 0x415b39
mov edi, 0xc65d40
jmp 0x415b72
cmp al, 3
jne 0x415b44
mov edi, 0xc65d40
jmp 0x415b72
cmp al, 4
jne 0x415b4f
mov edi, 0x1036640
jmp 0x415b72
cmp al, 5
jne 0x415b5a
mov edi, 0x1312d00
jmp 0x415b72
cmp al, 6
jne 0x415b65
mov edi, 0x15ef3c0
jmp 0x415b72
cmp al, 7
mov edi, 0x19bfcc0
je 0x415b72
mov edi, dword [esp + 0x14]
mov ecx, dword [0x47c384]
and eax, 0xff
cmp eax, ecx
jne 0x415b86
mov edi, 0x8954400
mov eax, 0x10624dd3
mul dword [0x4769738]
mov ebx, edx
mov eax, 0x91a2b3c5
shr ebx, 6
mul ebx
mov esi, edx
mov ecx, ebx
shr esi, 0xb
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
sub ecx, eax
mov eax, 0x88888889
mul ecx
mov eax, dword [0x4769720]
shr edx, 5
lea eax, [eax + eax*4]
mov dword [esp + 0x18], edx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x10624dd3
shl ecx, 4
add ecx, edi
imul ecx
sar edx, 6
mov eax, edx
lea ecx, [esp + 0x30]
shr eax, 0x1f
add edx, eax
push edx
push 0x482a18
push ecx
call fcn.00436cce
add esp, 0xc
push 0x37ff37
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push 5
push 1
push ebp
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*4]
shl eax, 2
mov edx, eax
mov eax, esi
neg eax
shl eax, 2
sub eax, esi
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, edx
add eax, ebx
push eax
push ecx
push esi
lea ecx, [esp + 0x3c]
push 0x48304c
push ecx
call fcn.00436cce
add esp, 0x14
lea edx, [esp + 0x28]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x34]
push ecx
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x47719c]
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x28]
not ecx
dec ecx
sub edx, ebx
push ecx
lea ecx, [esp + 0x34]
push ecx
push 5
push edx
push ebp
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [0x476972c]
mov edx, dword [0x4769738]
mov eax, dword [0x4769730]
mov esi, dword [0x4769734]
mov edi, ecx
mov ebx, edx
sub edi, eax
sub ebx, esi
cmp ebx, edi
jbe 0x415da1
sub eax, ecx
sub eax, esi
add eax, edx
mov ebx, eax
mov al, byte [0x4770bc8]
cmp ebx, 0x1388
jbe 0x415cf2
test al, al
jne 0x415cfa
mov byte [0x4770bc8], 1
jmp 0x415cfa
test al, al
je 0x415da1
mov eax, 0x10624dd3
mul ebx
mov esi, edx
mov eax, 0x91a2b3c5
shr esi, 6
mul esi
mov ecx, edx
mov edx, esi
shr ecx, 0xb
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
sub edx, eax
mov eax, 0x88888889
mul edx
shr edx, 5
lea eax, [edx + edx*2]
lea eax, [eax + eax*4]
shl eax, 2
mov edi, eax
mov eax, ecx
neg eax
shl eax, 2
sub eax, ecx
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 4
sub eax, edi
add eax, esi
push eax
push edx
push ecx
lea ecx, [esp + 0x3c]
push 0x48304c
push ecx
call fcn.00436cce
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
not ecx
dec ecx
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [0x47719c]
add eax, 5
push edx
sub ecx, esi
push eax
push ecx
push ebp
call dword [sym.imp.GDI32.dll_TextOutA]
cmp ebx, 0x3e8
jae 0x415da1
mov byte [0x4770bc8], 0
push 0x1c37ff
push 0x1cfa1c
push ebp
call fcn.004136b0
add esp, 0xc
mov edx, dword [esp + 0x14]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3fc
ret