Function at 0x4c21c0
Capabilities:
Check http status code
Write file on windows

Disassembly:
sub esp, 0x40c
push ebx
push ebp
mov ebp, ecx
mov ebx, dword [ebp + 0x18ec]
mov eax, dword [ebx]
mov ecx, dword [0x5a550c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x608]
mov dword [esp + 0x14], ecx
xor edx, edx
mov ecx, eax
cmp ecx, 0xa
push esi
push edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
jg 0x4c28f6
je 0x4c281d
dec ecx
cmp ecx, 4
ja case.0x4c63f0.818
jmp dword [ecx*4 + 0x4c6548]
mov eax, dword [ebx + 0x1710]
test al, 1
je 0x4c2231
mov dword [0x59bcec], edx
mov dword [esp + 0x14], 1
jmp case.0x4c49b8.412
or eax, 1
mov dword [ebx + 0x1710], eax
mov dword [ebx + 0x438], edx
mov dword [ebx + 0x43c], edx
mov dword [ebx + 0x440], edx
mov dword [ebx + 0x838], edx
mov dword [ebx + 0x83c], 0xffffffff
cmp dword [0x59bb58], edx
je 0x4c2276
xor ecx, ecx
call fcn.004e4c50
test eax, eax
jne 0x4c2276
xor ecx, ecx
call fcn.0049b9b0
mov edi, 2
mov ecx, edi
call fcn.004e2c60
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x10]
xor esi, esi
cmp eax, esi
je 0x4c2293
call fcn.004c8280
mov dword [ebx + 0x163c], esi
mov dword [ebx + 0x1640], esi
mov dword [ebx + 0x1644], esi
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x4c22c7
mov edx, dword [ebx + 0xf28]
imul edx, edx, 0x64
lea ecx, [edx + ebx + 0xdfc]
push eax
mov edx, 0x64
call fcn.0041ee40
mov eax, dword [ebp]
push eax
lea ecx, [ebx + 0x1124]
mov edx, 0x64
call fcn.0041ee40
mov eax, dword [0x5b430c]
cmp eax, esi
je 0x4c2311
cmp dword [eax + 0xbbc], ebx
jne 0x4c2307
cmp dword [eax + 0x708], 1
jne 0x4c2307
mov dword [eax + 0x724], edi
mov dword [eax + 0x764], esi
mov dword [eax + 0x73c], esi
mov eax, dword [eax + 0xd9c]
cmp eax, esi
jne 0x4c22e4
mov byte [ebx + 0x1c8c], 0
mov byte [ebx + 0x1924], 0
mov dword [ebx + 0x1e84], esi
mov ecx, dword [ebp + 0xc]
cmp ecx, esi
je 0x4c2333
mov edx, ebp
call fcn.0042aae0
mov ecx, dword [ebp + 0x18ec]
push ecx
mov ecx, dword [ebp + 0xc]
xor edx, edx
call fcn.004bec60
mov ecx, ebx
call fcn.004c12d0
cmp dword [0x5a9e0c], esi
je 0x4c235d
mov ecx, 1
call fcn.0053afa0
mov eax, dword [0x5a2de0]
cmp eax, esi
je 0x4c2375
push ebx
push 1
push 0x8049
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [0x59bcec], esi
mov dword [esp + 0x14], 1
jmp case.0x4c49b8.412
mov eax, dword [ebx + 0x1710]
test al, 2
je 0x4c239d
mov dword [0x59bcec], edx
jmp 0x4c64a3
or eax, 2
mov ecx, ebp
mov dword [ebx + 0x1710], eax
call fcn.004bfa40
mov edx, dword [ebp]
lea edi, [ebp + 0x1503]
push edx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ee40
push edi
call fcn.00580fc6
push str.undernet.
push edi
call fcn.00570b40
add esp, 0xc
test eax, eax
je 0x4c23e6
mov eax, dword [ebx + 0x1e80]
or eax, 4
jmp 0x4c2401
push str.dal.
push edi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x4c2407
mov eax, dword [ebx + 0x1e80]
or eax, 1
mov dword [ebx + 0x1e80], eax
mov ecx, ebx
call fcn.004ffd70
mov al, byte [ebx + 0x1c8c]
test al, al
jne 0x4c2421
mov edx, ebp
xor ecx, ecx
call fcn.0042aae0
mov eax, dword [0x59b1a8]
test eax, eax
je 0x4c2807
mov eax, dword [0x59fa90]
test eax, eax
je 0x4c2807
mov eax, dword [ebp + 0x18ec]
push 0
push eax
mov edx, 0x13
mov ecx, ebp
call fcn.004145c0
jmp 0x4c2807
cmp dword [ebp + 8], edx
jne 0x4c2466
mov ecx, ebx
call fcn.004ffd70
jmp case.0x4c49b8.412
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
lea eax, [ebp + 0xc]
je 0x4c2800
mov dword [esp + 0x28], eax
jmp 0x4c2480
mov ecx, dword [eax]
push ecx
lea esi, [ebp + 0x1503]
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
push 0x3d
push esi
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x4c2722
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4c2722
push str.WATCH
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c24f1
push edi
call fcn.005705cb
add esp, 4
test eax, eax
mov dword [ebx + 0x1e88], eax
jge 0x4c27ea
mov dword [ebx + 0x1e88], 0
jmp 0x4c27ea
push str.PREFIX
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c255a
cmp byte [edi], 0x28
jne 0x4c27ea
inc edi
push 0x29
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x4c27ea
push edi
lea ecx, [ebx + 0x1d22]
mov edx, 0x32
mov byte [esi], 0
call fcn.0041ee40
mov byte [esi], 0x29
inc esi
push esi
lea ecx, [ebx + 0x1cf0]
mov edx, 0x32
call fcn.0041ee40
mov dword [ebx + 0x1f08], 1
jmp 0x4c27ea
push str.CHANTYPES
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c259a
lea esi, [ebx + 0x1e1c]
push edi
mov edx, 0x32
mov ecx, esi
call fcn.0041ee40
mov edx, 0x588fb8
mov ecx, esi
call fcn.00524d90
mov dword [ebx + 0x1f0c], 1
jmp 0x4c27ea
push str.CHANMODES
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c25cc
push edi
lea ecx, [ebx + 0x1e4e]
mov edx, 0x32
call fcn.0041ee40
mov dword [ebx + 0x1f10], 1
jmp 0x4c27ea
push str.MODES
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2620
push edi
call fcn.005705cb
add esp, 4
cmp eax, 3
mov dword [ebx + 0x1f00], eax
jge 0x4c25fc
mov dword [ebx + 0x1f00], 3
mov ecx, dword [ebx + 0x1f00]
mov eax, 0xf
cmp ecx, eax
jle 0x4c2611
mov dword [ebx + 0x1f00], eax
mov dword [ebx + 0x1f04], 1
jmp 0x4c27ea
push str.NETWORK
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2693
push str.java
push edi
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4c27ea
lea esi, [ebp + 0x111c]
push edi
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
mov ecx, esi
call fcn.0042aa50
test eax, eax
je 0x4c27ea
push esi
lea ecx, [ebx + 0x1c8c]
mov edx, 0x64
call fcn.0041ee40
mov edx, ebp
xor ecx, ecx
mov dword [ebx + 0x1e84], 1
call fcn.0042aae0
jmp 0x4c27ea
push str.TOPICLEN
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c26e1
push edi
call fcn.005705cb
add esp, 4
test eax, eax
mov dword [ebx + 0x1e94], eax
jge 0x4c26c2
mov dword [ebx + 0x1e94], 0
cmp dword [ebx + 0x1e94], 0x1cc
jle 0x4c27ea
mov dword [ebx + 0x1e94], 0x1cc
jmp 0x4c27ea
push str.ELIST
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c27ea
lea esi, [ebx + 0x1e98]
push edi
mov edx, 0x64
mov ecx, esi
call fcn.0041ee40
push esi
call fcn.005810da
add esp, 4
mov dword [ebx + 0x1efc], 1
jmp 0x4c27ea
push str.SPLIT
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2768
mov eax, dword [str.CAPAB_SPLIT_n]
lea ecx, [ebp + 0x111c]
mov edx, ecx
mov dword [edx], eax
mov eax, dword [0x588f68]
mov dword [edx + 4], eax
mov eax, dword [0x588f6c]
mov dword [edx + 8], eax
mov al, byte [0x588f70]
mov byte [edx + 0xc], al
push ebx
xor edx, edx
call fcn.0054b400
jmp 0x4c27ea
push str.SAFELIST
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2786
mov dword [ebx + 0x1e8c], 1
jmp 0x4c27ea
push str.IRCX
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c27ce
mov eax, dword [ebx + 0x1e80]
test al, 0x20
jne 0x4c27ea
or eax, 0x20
mov dword [ebx + 0x1e80], eax
mov eax, dword [str.IRCX_n]
lea ecx, [ebp + 0x111c]
mov edx, ecx
mov dword [edx], eax
mov ax, word [0x588d5c]
mov word [edx + 4], ax
push ebx
xor edx, edx
call fcn.0054b400
jmp 0x4c27ea
push str.WALLCHOPS
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c27ea
mov dword [ebx + 0x1e90], 1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4c2480
mov ecx, ebx
call fcn.004ffd70
mov ecx, ebx
call fcn.004c12d0
mov dword [0x59bcec], 0
jmp 0x4c64a3
cmp dword [ebp + 0x600], 4
jl 0x4c653b
cmp dword [0x5ae610], edx
je 0x4c2863
push eax
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], 0
call fcn.0041ef30
mov ecx, dword [0x5a5510]
mov edx, dword [esp + 0x10]
push ecx
push 1
push 1
push edx
mov edx, 3
mov ecx, ebp
call fcn.004bf5b0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebx + 0x137c]
mov edx, 0x64
call fcn.0041ee40
mov ecx, dword [ebp + 0x10]
lea esi, [ebx + 0x150c]
push ecx
mov edx, 0x64
mov ecx, esi
call fcn.0041ee40
push esi
call fcn.005705cb
add esp, 4
test eax, eax
jg 0x4c28e1
push str.6667
mov edx, 0x64
mov ecx, esi
call fcn.0041ee40
pop edi
pop esi
pop ebp
mov dword [ebx + 0x2398], 1
pop ebx
add esp, 0x40c
ret
cmp ecx, 0x16c
jg 0x4c498b
je 0x4c4881
sub ecx, 0xc8
cmp ecx, 0x99
ja case.0x4c63f0.818
movzx ecx, byte [ecx + 0x4c661c]
jmp dword [ecx*4 + 0x4c655c]
mov dword [0x59bcec], edx
mov dword [esp + 0x14], 1
jmp case.0x4c49b8.412
mov dword [0x59bcec], edx
jmp 0x4c6499
mov dword [0x59bcec], edx
mov dword [esp + 0x18], 1
jmp case.0x4c49b8.412
mov eax, dword [ebp + 8]
cmp eax, edx
je 0x4c29b8
mov edx, dword [ebx + 0xf28]
imul edx, edx, 0x64
push eax
lea eax, [edx + ebx + 0xdfc]
push eax
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c29b8
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4c29b1
lea edi, [ebx + 0x1648]
mov word [edi], 0x5b
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, 0x64
mov ecx, edi
call fcn.0041eea0
push 0x587918
mov edx, 0x64
mov ecx, edi
call fcn.0041eea0
mov ecx, ebx
call fcn.004c12d0
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x604], 2
jmp case.0x4c49b8.412
cmp dword [ebx + 0x1f24], edx
jne case.0x4c2921.200
mov eax, 1
mov dword [ebx + 0x1f24], eax
mov dword [esp + 0x14], eax
mov dword [0x59bcec], edx
jmp 0x4c64a3
mov dword [ebx + 0x1f24], edx
mov dword [esp + 0x18], 1
mov dword [ebp + 0x604], 4
jmp case.0x4c49b8.412
cmp dword [ebx + 0x1918], edx
je 0x4c2a22
mov ecx, ebx
call fcn.0042b140
mov eax, 1
mov dword [0x59bcec], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
jmp case.0x4c49b8.412
mov dword [0x59bcec], edx
mov eax, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
jmp 0x4c64a3
dec dword [ebx + 0x171c]
jns 0x4c2a64
mov dword [ebx + 0x171c], edx
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4c2c20
nop
mov al, byte [edi]
test al, al
je 0x4c2c20
cmp al, 0x20
jne 0x4c2a88
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x4c2a80
cmp byte [edi], 0
je 0x4c2c20
push 0x3d
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x4c2c20
lea ecx, [ebp + 0x1503]
push edi
mov edx, 0x3e7
mov byte [esi], 0
call fcn.0041ee40
push 0x2a
lea edi, [ebp + 0x1503]
push edi
mov byte [esi], 0x3d
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c2ad5
mov byte [eax], 0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c2ad6
mov dx, word [0x584678]
inc esi
mov word [edi], dx
mov al, byte [esi]
cmp al, 0x2b
je 0x4c2af3
cmp al, 0x2d
jne 0x4c2af4
inc esi
cmp byte [esi], 0
je 0x4c2c20
push 0x20
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c2b41
mov byte [eax], 0
mov ecx, esi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4c2b11
sub ecx, esi
lea edi, [ebp + 0x1503]
mov edx, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c2b23
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [eax], 0x20
lea edi, [eax + 1]
jmp 0x4c2b6f
mov eax, esi
mov edx, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c2b45
lea edi, [ebp + 0x1503]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c2b55
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor edi, edi
mov eax, dword [ebx + 0x1718]
test eax, eax
je 0x4c2bae
lea esi, [ebp + 0x1503]
push esi
mov edx, 0x3e7
lea ecx, [esp + 0x38]
call fcn.0041ee40
mov ecx, ebp
call fcn.0053c6f0
test eax, eax
jne 0x4c653b
lea eax, [esp + 0x34]
push eax
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
lea eax, [ebp + 0x1503]
push 0x21
push eax
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
je 0x4c2c18
mov byte [esi], 0
mov al, byte [esi + 1]
test al, al
je 0x4c2c15
mov edx, ebx
lea ecx, [ebp + 0x1503]
call fcn.004beed0
test eax, eax
je 0x4c2c15
mov eax, dword [esp + 0x20]
inc eax
lea esi, [ebp + 0x111c]
push eax
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
push ebx
push 0
lea ecx, [esp + 0x3c]
push ecx
mov edx, esi
lea ecx, [ebp + 0x1503]
call fcn.0049a710
mov esi, dword [esp + 0x20]
mov byte [esi], 0x21
test edi, edi
jne 0x4c2a70
mov eax, dword [ebx + 0x171c]
test eax, eax
jg 0x4c2c39
mov ecx, ebp
call fcn.0053cc10
test eax, eax
jne 0x4c653b
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c2c79
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x604]
mov eax, dword [ebp + eax*4]
test eax, eax
je 0x4c2caf
cmp byte [eax], 0
je 0x4c2caf
mov edx, dword [str.userhost:]
lea ecx, [ebp + 0x111c]
mov dword [ecx], edx
mov eax, dword [0x588f3c]
mov dword [ecx + 4], eax
mov dx, word [0x588f40]
mov word [ecx + 8], dx
jmp 0x4c2cbf
lea edx, [ebp + 0x111c]
mov ecx, 0xdd7
call fcn.0041d620
mov eax, dword [esp + 0x1c]
push eax
push 1
mov dword [0x59bcec], 0
push 1
jmp 0x4c6529
cmp dword [ebp + 0x600], 8
jl 0x4c653b
cmp dword [ebx + 0x1f20], edx
mov eax, 1
jne 0x4c2cfb
mov dword [ebx + 0x1f20], eax
mov dword [esp + 0x14], eax
mov ecx, dword [ebp + 0x1c]
cmp ecx, edx
je 0x4c2d3e
mov edx, ebx
call fcn.004beed0
test eax, eax
je 0x4c2d3e
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
lea esi, [ebp + 0x111c]
push str._s__s
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push ebx
push 0
lea ecx, [ebp + 0x1503]
push ecx
mov ecx, dword [ebp + 0x1c]
mov edx, esi
call fcn.0049a710
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c2d7e
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebx + 0x2058]
test eax, eax
je 0x4c2e3d
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4c2e3d
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004ff610
test al, al
je 0x4c2e3d
mov eax, dword [ebx + 0x2058]
mov ecx, dword [eax]
lea ebx, [ebp + 0x111c]
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c2dc0
push 0x20
push ebx
call fcn.00570260
mov edi, eax
add esp, 8
test edi, edi
je 0x4c2e3d
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4c2e3d
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2e3d
lea esi, [ebp + 0x1503]
mov edx, esi
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c2e03
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push 0x588cd8
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 1
push 0
mov edx, ebx
mov ecx, esi
call fcn.00542310
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x24]
test eax, eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x14]
je 0x4c2e70
push eax
mov eax, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
lea ecx, [ebp + 0x111c]
push str._s__s__s__s__s_:_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
jmp 0x4c2e93
mov eax, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
lea ecx, [ebp + 0x111c]
push str._s__s__s__s__s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
mov edx, dword [esp + 0x1c]
xor eax, eax
push edx
push eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov eax, dword [esp + 0x1c]
push eax
or edx, 0xffffffff
jmp 0x4c652f
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je 0x4c2f50
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c2ed9
mov ecx, dword [eax + 0xa1c]
test ecx, ecx
jle 0x4c2ed9
dec ecx
mov dword [eax + 0xa1c], ecx
mov eax, dword [ebx + 0x2058]
test eax, eax
je 0x4c2f46
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004ff610
test al, al
je 0x4c2f46
mov edx, dword [ebx + 0x2058]
mov ecx, dword [edx]
lea esi, [ebp + 0x111c]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c2f01
push 0x20
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c2f46
mov byte [eax], 0
mov cl, byte [eax + 1]
test cl, cl
je 0x4c2f46
mov eax, dword [ebp + 0xc]
push eax
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c2f46
mov ecx, dword [ebx + 0x2058]
call fcn.004c7f30
mov dword [ebx + 0x2058], eax
mov dword [ebp + 0x604], 3
mov dword [ebx + 0x1f20], 0
mov dword [esp + 0x18], 1
jmp case.0x4c49b8.412
mov dword [ebx + 0x1f18], 1
mov dword [ebx + 0x1f1c], edx
cmp dword [ebp + 0x600], 4
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
push ebx
push 0
push 1
push 0
xor edx, edx
call fcn.004e8440
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004beed0
test eax, eax
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c2fd6
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
lea edi, [ebp + 0x111c]
push str._s__s
push edi
call esi
mov ecx, dword [ebp + 0xc]
add esp, 0x10
push ebx
push 0
lea eax, [ebp + 0x1503]
push eax
mov edx, edi
call fcn.0049a710
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x14]
push edx
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c3053
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push eax
push ecx
lea edi, [ebp + 0x1503]
push str._s__s
push edi
call esi
mov ecx, dword [0x59f160]
add esp, 0x10
push 2
mov edx, edi
call fcn.004c7e10
mov dword [0x59f160], eax
mov ebp, dword [ebp + 0x1c]
test ebp, ebp
je 0x4c653b
push ebp
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ee40
mov edx, 0xf
mov ecx, edi
call fcn.00524b30
push 1
mov edx, edi
jmp 0x4c399a
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c308f
mov edx, dword [ebp + 0x608]
push edx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov edx, dword [0x5a5504]
mov ecx, dword [esp + 0x10]
call fcn.00502b10
mov eax, dword [ebp + 0xc]
lea edi, [ebp + 0x111c]
push eax
xor edx, edx
mov ecx, 0xdd9
mov dword [esp + 0x24], edi
call fcn.0041d620
push eax
push edi
call esi
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
add esp, 0xc
test eax, eax
mov ebx, 4
je 0x4c313f
jmp 0x4c30d4
mov edi, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c30d8
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c30e2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
inc ebx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + ebx*4]
test eax, eax
lea ecx, [ebp + ebx*4]
je 0x4c313b
mov edi, dword [esp + 0x20]
dec edi
cmp ebx, 5
jne 0x4c3125
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c3111
mov dx, word [0x584670]
mov word [edi], dx
jmp 0x4c3136
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c3125
mov ax, word [0x5842b8]
mov word [edi], ax
cmp dword [ecx], 0
jne 0x4c30d0
mov edi, dword [esp + 0x20]
mov eax, dword [0x5a07dc]
xor esi, esi
cmp eax, esi
je 0x4c3156
cmp byte [edi], 0
je 0x4c3156
mov ecx, edi
call fcn.00417ff0
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, edi
mov dword [0x59bcec], esi
mov dword [0x5ae230], esi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 4
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c321a
mov ecx, dword [ebp + 0x10]
push 0x104
push ecx
lea ebx, [ebp + 0x1503]
push ebx
call fcn.00570120
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov byte [ebp + 0x1607], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c31d2
sub eax, edx
cmp eax, 0xe6
jbe 0x4c3211
push 0x20
add ebp, 0x15cb
push ebp
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x4c3211
xor edx, edx
mov ecx, 0xdd8
call fcn.0041d620
mov edx, esi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x4c3207
push 4
mov edx, ebx
jmp 0x4c399a
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c325c
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
xor edx, edx
mov ecx, 0xdda
lea esi, [ebp + 0x111c]
call fcn.0041d620
push eax
push esi
call edi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add esp, 0x10
xor eax, eax
push edx
mov edx, esi
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 4
jl 0x4c653b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c330c
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4c653b
mov edx, dword [ebp + 0x10]
push eax
push edx
lea esi, [ebp + 0x1503]
push 0x584610
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov edx, 0xf
mov ecx, esi
call fcn.00524b30
push 7
jmp 0x4c3998
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c334e
mov eax, dword [ebp + 0x608]
push eax
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push edx
xor edx, edx
mov ecx, 0xddb
lea esi, [ebp + 0x111c]
call fcn.0041d620
push eax
push esi
call edi
mov edx, dword [ebp + 0x14]
add esp, 0x10
test edx, edx
je 0x4c3b46
mov eax, esi
lea ebx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c3380
push edx
sub eax, ebx
lea eax, [eax + ebp + 0x111c]
push 0x5847dc
push eax
call edi
add esp, 0xc
jmp 0x4c3b46
cmp dword [ebp + 0x600], 3
jl 0x4c653b
mov eax, dword [ebp + 0xc]
cmp eax, edx
mov esi, 1
je 0x4c3409
mov edx, dword [ebx + 0xf28]
imul edx, edx, 0x64
lea ecx, [edx + ebx + 0xdfc]
push ecx
push eax
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c3409
mov eax, dword [ebx + 0x1f1c]
test eax, eax
jne 0x4c3409
mov eax, dword [ebx + 0x1720]
test eax, eax
jne 0x4c3402
push 0
mov dword [ebx + 0x1720], esi
call fcn.00570bc6
add esp, 4
mov dword [ebx + 0x1724], eax
mov ecx, ebx
call fcn.004c12d0
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c346b
xor ecx, ecx
mov dword [ebx + 0x1f18], ecx
mov dword [ebx + 0x1f1c], ecx
mov eax, dword [ebp + 0x10]
cmp eax, ecx
je 0x4c653b
lea esi, [ebp + 0x1503]
push eax
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
mov edx, 0xf
mov ecx, esi
call fcn.00524b30
push 6
jmp 0x4c3998
mov ecx, dword [ebx + 0x1f18]
xor eax, eax
cmp ecx, eax
jne 0x4c3489
cmp dword [ebx + 0x1f1c], eax
jne 0x4c3489
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
jmp 0x4c3495
mov dword [ebx + 0x1f18], eax
mov dword [ebx + 0x1f1c], eax
cmp dword [0x5ae610], eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c34d6
mov ecx, dword [ebp + 0x608]
push ecx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [0x5a07dc]
xor esi, esi
cmp eax, esi
je 0x4c34f2
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
je 0x4c34f2
cmp byte [ecx], 0
je 0x4c34f2
call fcn.00417ff0
cmp dword [0x5aca5c], esi
je 0x4c3571
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov ebx, eax
cmp ebx, esi
je 0x4c3571
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, eax
call fcn.00542f00
cmp dword [ebx], eax
jne 0x4c3571
mov dword [0x59bcec], esi
mov dword [0x5ae230], esi
mov edx, dword [ebp + 0xc]
push edx
xor edx, edx
mov ecx, 0xddc
call fcn.0041d620
push eax
lea eax, [ebp + 0x111c]
push eax
call edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esp, 0xc
push ecx
mov ecx, dword [ebx]
push edx
push eax
push ecx
mov edx, 4
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov dword [0x59bcec], esi
mov dword [0x5ae230], esi
mov edx, dword [ebp + 0xc]
push edx
xor edx, edx
mov ecx, 0xddc
call fcn.0041d620
push eax
lea eax, [ebp + 0x111c]
push eax
call edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esp, 0xc
push ecx
push edx
push eax
mov edx, 4
jmp 0x4c652f
mov eax, dword [ebp + 0x600]
mov esi, 3
cmp eax, esi
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
jne 0x4c653b
mov eax, dword [ebp + 0x600]
cmp eax, esi
je 0x4c3701
cmp eax, 5
jl 0x4c366d
cmp dword [ebp + 0x604], 5
jne 0x4c366d
mov eax, dword [ebp + 0x10]
xor edi, edi
cmp eax, edi
je 0x4c366f
push 0x2e
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c366f
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x4c366f
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push eax
push edx
lea esi, [ebp + 0x111c]
push 0x588f08
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
add esp, 0x14
push eax
mov edx, esi
mov dword [0x59bcec], edi
mov dword [0x5ae230], edi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
xor edi, edi
mov ecx, dword [ebp + 0x600]
mov eax, 6
cmp ecx, eax
jl 0x4c3703
cmp dword [ebp + 0x604], eax
jne 0x4c3703
mov ecx, dword [ebp + 0x18]
cmp ecx, edi
je 0x4c3703
mov edx, str.user_host
call fcn.0041e2a0
test eax, eax
je 0x4c3703
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x4c3703
push 0x2e
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c3703
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x4c3703
push 0x2e
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c3703
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
lea esi, [ebp + 0x111c]
push str._s_is_actually__s___s_
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov dword [0x59bcec], edi
mov dword [0x5ae230], edi
jmp 0x4c3b52
xor edi, edi
mov dword [0x59bcec], edi
mov dword [0x5ae230], edi
mov dword [ebp + 0x604], esi
jmp case.0x4c49b8.412
mov eax, dword [ebp + 0x600]
mov esi, 3
cmp eax, esi
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c5065
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c653b
lea esi, [ebp + 0x1503]
push eax
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
mov edx, 0xf
mov ecx, esi
call fcn.00524b30
push 9
jmp 0x4c3998
mov eax, dword [ebp + 0x600]
mov esi, 3
cmp eax, esi
jl 0x4c653b
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x14]
push edx
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c5065
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c653b
push 8
mov edx, str.IRC_Operator
jmp 0x4c399a
mov dword [ebx + 0x1f18], edx
mov dword [ebx + 0x1f1c], 1
cmp dword [ebp + 0x600], 3
jl 0x4c653b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
call fcn.004bf060
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c384a
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0xc]
push eax
xor edx, edx
mov ecx, 0xddd
lea esi, [ebp + 0x111c]
call fcn.0041d620
push eax
push esi
call edi
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
add esp, 0xc
test eax, eax
mov ebx, 4
je 0x4c38f6
lea ebx, [ebx]
mov eax, dword [ecx]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c3884
lea edi, [ebp + 0x111c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c3894
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
inc ebx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + ebx*4]
test eax, eax
lea ecx, [ebp + ebx*4]
je 0x4c38f6
lea edi, [ebp + 0x111c]
dec edi
cmp ebx, 5
jne 0x4c38e0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c38c5
mov dx, word [0x584670]
mov word [edi], dx
jmp 0x4c38f1
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c38e0
mov ax, word [0x5842b8]
mov word [edi], ax
cmp dword [ecx], 0
jne 0x4c3880
mov eax, dword [0x5a07dc]
xor esi, esi
cmp eax, esi
je 0x4c3916
mov al, byte [ebp + 0x111c]
test al, al
lea ecx, [ebp + 0x111c]
je 0x4c3916
call fcn.00417ff0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push ecx
push esi
push 1
push edx
or edx, 0xffffffff
mov ecx, ebp
mov dword [0x59bcec], esi
mov dword [0x5ae230], esi
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 4
jl 0x4c653b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c39b5
mov ecx, dword [ebp + 0x10]
push 0
xor edx, edx
lea esi, [ebp + 0x1503]
call fcn.0052d410
push eax
push 0x583ef8
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 5
mov edx, esi
mov ecx, dword [0x59f160]
call fcn.004c7e10
pop edi
pop esi
pop ebp
mov dword [0x59f160], eax
pop ebx
add esp, 0x40c
ret
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c39f7
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0x10]
push 0
xor edx, edx
lea ebx, [ebp + 0x111c]
call fcn.0052d410
push eax
mov eax, dword [ebp + 0xc]
push eax
xor edx, edx
mov ecx, 0xdde
call fcn.0041d620
push eax
push ebx
call edi
mov eax, dword [ebp + 0x14]
add esp, 0x10
test eax, eax
je 0x4c3a70
movzx ecx, byte [eax]
push ecx
call fcn.00570e57
add esp, 4
test eax, eax
je 0x4c3a70
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c3a40
mov ecx, dword [ebp + 0x14]
sub eax, edx
xor edx, edx
mov esi, eax
call fcn.0052d6e0
push eax
xor edx, edx
mov ecx, 0xddf
call fcn.0041d620
push eax
lea edx, [esi + ebp + 0x111c]
push edx
call edi
add esp, 0xc
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov eax, dword [esp + 0x1c]
push eax
mov edx, ebx
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 5
jl 0x4c3dd0
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004ff610
test al, al
jne 0x4c3dd0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x14]
push edx
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
jne 0x4c653b
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c3b1f
mov eax, dword [ebp + 0x608]
push eax
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0x14]
mov dl, 0x20
call fcn.00524ec0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
lea esi, [ebp + 0x111c]
push 0x588f08
push esi
call edi
add esp, 0x14
xor eax, eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 4
jl 0x4c653b
jmp 0x4c416f
mov dword [ebx + 0x1f18], edx
mov dword [ebx + 0x1f1c], edx
cmp dword [ebp + 0x600], 3
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
mov edx, 1
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c3c2e
mov eax, dword [0x59f168]
cmp eax, 0xffffffff
je 0x4c3c19
mov ecx, dword [0x59f16c]
test ecx, ecx
jne 0x4c3c0a
mov ecx, dword [0x5b4314]
push 2
push 0x9c
push 0x111
push ecx
mov dword [0x59f37c], 1
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
mov dword [0x59f168], 0
pop ebx
add esp, 0x40c
ret
test eax, eax
jle 0x4c3c19
mov edx, dword [0x59f160]
call fcn.00405c00
pop edi
pop esi
pop ebp
mov dword [0x59f168], 0
pop ebx
add esp, 0x40c
ret
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c3c70
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp eax, ebx
lea esi, [ebp + 0x111c]
je 0x4c3c91
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0x584610
push esi
call edi
add esp, 0x10
jmp 0x4c3ca1
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
push edx
mov edx, esi
mov dword [0x59bcec], ebx
mov dword [0x5ae230], ebx
call fcn.00502c40
mov edx, dword [0x5a5504]
mov ecx, dword [esp + 0x10]
call fcn.00502b10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov esi, eax
test esi, esi
je case.0x4c49b8.443
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c3da5
mov dword [esp + 0x28], eax
mov al, byte [eax]
test al, al
je 0x4c3d86
lea edi, [ebp + 0x14]
mov dword [esp + 0x20], edi
jmp 0x4c3d10
mov ecx, dword [edi]
test ecx, ecx
je 0x4c3d86
cmp al, 0x6c
jne 0x4c3d32
push ecx
call fcn.005705cb
add esp, 4
add edi, 4
mov dword [esi + 0x734], eax
mov dword [esp + 0x20], edi
jmp 0x4c3d77
cmp al, 0x6b
jne 0x4c3d77
push 0x584674
push ecx
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c3d57
mov ecx, 0x19
lea edi, [esi + 0x1a2]
rep stosd dword es:[edi], eax
jmp 0x4c3d6a
mov eax, dword [edi]
push eax
lea ecx, [esi + 0x1a2]
mov edx, 0x64
call fcn.0041ee40
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
mov al, byte [eax]
test al, al
jne 0x4c3d10
mov ecx, dword [ebp + 0x10]
lea edi, [ebp + 0x1503]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ee40
mov edx, edi
mov ecx, esi
call fcn.004c07c0
xor edx, edx
mov ecx, esi
call fcn.004c0b60
mov eax, dword [esi + 0xa14]
test eax, eax
jle case.0x4c49b8.443
mov ecx, dword [esi + 0xa18]
dec eax
inc ecx
mov dword [esi + 0xa14], eax
mov dword [esi + 0xa18], ecx
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c653b
mov edx, dword [ebp + 0x608]
push edx
jmp 0x4c644d
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je 0x4c3e0b
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c3e0b
xor edx, edx
mov ecx, eax
mov byte [eax + 0x26a], 0
call fcn.004c0b60
mov eax, 1
mov dword [ebx + 0x1f14], eax
mov dword [0x59bcec], 0
mov dword [esp + 0x14], eax
jmp 0x4c64a3
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je 0x4c3e0b
cmp dword [ebp + 0x10], edx
je 0x4c3e0b
mov edx, ebx
call fcn.004e2e60
mov edi, eax
test edi, edi
je 0x4c3e0b
mov eax, dword [0x5a07dc]
test eax, eax
je 0x4c3e58
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
je 0x4c3e58
call fcn.00417ff0
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x26a]
push eax
mov edx, 0x1cc
mov ecx, esi
mov dword [esp + 0x2c], esi
call fcn.0041ee40
xor edx, edx
mov ecx, edi
call fcn.004c0b60
mov ecx, dword [edi + 0x438]
push 0
push 1
mov edx, esi
call fcn.004c8960
test eax, eax
je 0x4c3e96
mov dword [edi + 0x438], eax
mov eax, dword [0x59b18c]
test eax, eax
je 0x4c3ee6
mov edx, 1
mov ecx, edi
call fcn.00411e30
test eax, eax
je 0x4c3ee6
mov eax, dword [edi + 0xa04]
test eax, eax
je 0x4c3ec3
cmp eax, 1
je 0x4c3ed1
cmp eax, 2
jmp 0x4c3ecf
mov eax, dword [0x5a63f0]
test eax, eax
je 0x4c3ed1
cmp eax, 1
jne 0x4c3ee6
mov ecx, dword [ebp + 0x18ec]
push 0
push ecx
mov edx, 0x29
mov ecx, ebp
call fcn.004145c0
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c3f2a
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov esi, dword [esp + 0x28]
mov ecx, edi
call fcn.00542ed0
test eax, eax
je 0x4c653b
mov eax, dword [edi + 0xa04]
test eax, eax
je 0x4c3f5d
cmp eax, 1
jne 0x4c3f4c
mov eax, dword [edi]
jmp 0x4c3f79
cmp eax, 2
jne 0x4c653b
mov ecx, dword [ebx]
mov dword [esp + 0x10], ecx
jmp 0x4c3f7d
mov eax, dword [0x5a63f0]
test eax, eax
jne 0x4c3f6e
mov edx, dword [edi]
mov dword [esp + 0x10], edx
jmp 0x4c3f7d
cmp eax, 1
jne 0x4c653b
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov al, byte [esi]
add ebp, 0x111c
test al, al
je 0x4c3fad
push esi
xor edx, edx
mov ecx, 0xde0
call fcn.0041d620
push eax
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
or edx, 0xffffffff
mov ecx, ebp
call fcn.00524b30
jmp 0x4c3fb9
mov edx, ebp
mov ecx, 0xde1
call fcn.0041d620
mov ecx, dword [0x5a5558]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [0x5ae610], edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c4025
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c414f
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4c414f
movzx edx, byte [eax]
push edx
call fcn.00570e57
add esp, 4
test eax, eax
je 0x4c414f
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c40ff
mov ecx, dword [eax + 0xa04]
test ecx, ecx
je 0x4c4085
cmp ecx, 1
jne 0x4c4074
mov eax, dword [eax]
jmp 0x4c40a2
cmp ecx, 2
jne 0x4c653b
mov ecx, dword [ebx]
mov dword [esp + 0x10], ecx
jmp 0x4c40a6
mov ecx, dword [0x5a63f0]
test ecx, ecx
jne 0x4c4097
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x4c40a6
cmp ecx, 1
jne 0x4c653b
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0x14]
xor edx, edx
lea ebx, [ebp + 0x111c]
call fcn.0052d6e0
mov ecx, dword [ebp + 0x10]
push eax
push ecx
xor edx, edx
mov ecx, 0xde2
call fcn.0041d620
push eax
push ebx
call esi
mov edx, dword [0x5a5558]
mov ecx, dword [esp + 0x20]
add esp, 0x10
push edx
mov edx, ebx
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0x14]
xor edx, edx
call fcn.0052d6e0
mov ecx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
push ecx
xor edx, edx
mov ecx, 0xde3
call fcn.0041d620
push eax
lea edx, [ebp + 0x111c]
push edx
call esi
mov esi, dword [ebx + 0x1f14]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add esp, 0x14
xor ecx, ecx
test esi, esi
sete cl
push eax
push 1
push ecx
push edx
or edx, 0xffffffff
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
mov dword [ebx + 0x1f14], 0
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebx + 0x1e80]
test ch, 1
je 0x4c41a5
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
jne 0x4c653b
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
jmp 0x4c64a3
cmp dword [0x5ae610], edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c41e0
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4c653b
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c653b
mov edx, ebx
call fcn.004e2e60
mov edi, eax
mov eax, dword [0x5b3d50]
test eax, eax
je 0x4c4221
xor eax, eax
test edi, edi
je 0x4c4214
mov eax, dword [edi + 0x750]
mov ecx, dword [ebp + 0x10]
push eax
push 0
xor edx, edx
call fcn.0053b4b0
test edi, edi
je 0x4c653b
mov eax, dword [edi + 0x6a8]
test eax, eax
je 0x4c653b
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
push eax
xor edx, edx
mov ecx, 0xde4
lea ebx, [ebp + 0x111c]
call fcn.0041d620
push eax
push ebx
call esi
add esp, 0x10
push 0
mov edx, ebx
mov ecx, edi
call fcn.004cb050
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [0x5ae610], edx
mov esi, 1
je 0x4c42a6
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
mov esi, eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4c653b
mov edx, ebx
call fcn.004e2e60
mov edi, eax
test edi, edi
je 0x4c42da
mov eax, dword [edi + 0xa18]
test eax, eax
jle 0x4c42da
dec eax
mov dword [edi + 0xa18], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
test esi, esi
je 0x4c653b
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c653b
push eax
call fcn.00570543
add esp, 4
test eax, eax
jle 0x4c653b
mov ecx, dword [ebp + 0x10]
mov edx, 1
lea esi, [ebp + 0x111c]
call fcn.0052d6e0
mov ecx, dword [ebp + 0xc]
push eax
push ecx
xor edx, edx
mov ecx, 0xde5
call fcn.0041d620
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
test edi, edi
je 0x4c4346
mov eax, dword [edi + 0x6a8]
test eax, eax
je 0x4c4346
push 0
mov edx, esi
mov ecx, edi
call fcn.004cb050
mov edx, dword [0x5a550c]
xor eax, eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov ecx, dword [ebx]
push edx
mov edx, esi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 0x600], 4
jl 0x4c653b
mov eax, dword [ebp + 0x604]
cmp eax, edx
je 0x4c653b
mov ecx, dword [ebp + eax*4 - 4]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c4391
sub eax, esi
cmp eax, 0x5a
ja 0x4c653b
xor esi, esi
push esi
xor edx, edx
call fcn.004ca290
test eax, eax
je 0x4c653b
mov dword [ebx + 0x1f14], esi
mov eax, dword [ebp + 0x604]
mov ecx, dword [ebp + eax*4 - 4]
mov edx, ebx
mov dword [esp + 0x14], 1
mov dword [esp + 0x28], esi
call fcn.004e2e60
mov edi, eax
test edi, edi
mov dword [esp + 0x24], edi
je 0x4c4668
cmp dword [edi + 0x708], 1
jne 0x4c4668
mov al, byte [ebx + 0x182c]
test al, al
lea esi, [ebx + 0x182c]
je 0x4c441f
mov ecx, dword [ebp + 0x604]
mov edx, dword [ebp + ecx*4 - 4]
push edx
push esi
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4c44dd
mov eax, dword [ebp + 0x604]
mov ecx, dword [ebp + eax*4 - 4]
push ecx
mov edx, 0x64
mov ecx, esi
call fcn.0041ee40
lea esi, [edi + 0x6bc]
mov ecx, esi
mov dword [edi + 0x73c], 0
call fcn.004c8280
mov edx, dword [edi + 0x6b8]
mov dword [esi], edx
lea ecx, [edi + 0x6c4]
xor edx, edx
mov dword [edi + 0x6b8], 0
call fcn.004920f0
mov esi, dword [esi]
test esi, esi
mov dword [esp + 0x20], 0
je 0x4c44bf
lea ebx, [ebx]
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 0x874]
push 0
push eax
push 0x199
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x4c44a7
test eax, eax
jl 0x4c44a7
cmp eax, 0xf
jle 0x4c44ac
mov eax, 0x63
mov ecx, dword [esp + 0x20]
mov dword [esi + 8], eax
mov esi, dword [esi + 0x40]
inc ecx
test esi, esi
mov dword [esp + 0x20], ecx
jne 0x4c4480
mov edx, dword [edi + 0x874]
push 0
push 0
push 0x184
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x28], 1
mov eax, dword [edi + 0x724]
test eax, eax
jne 0x4c4659
mov eax, dword [edi + 0x764]
test eax, eax
jne 0x4c4659
mov eax, dword [edi + 0x874]
push 0
push 0
push 0x18e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4c451b
mov dword [esp + 0x28], 1
mov ecx, dword [ebp + 0x604]
mov edi, dword [ebp + ecx*4]
test edi, edi
je 0x4c4637
lea ecx, [ecx]
mov al, byte [edi]
test al, al
je 0x4c4637
cmp al, 0x20
jne 0x4c4548
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x4c4540
cmp byte [edi], 0
je 0x4c4637
push 0x20
push edi
call fcn.00570260
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x4c4567
mov byte [eax], 0
mov al, byte [edi]
test al, al
mov dword [esp + 0x30], 1
je 0x4c4625
lea ecx, [ebx + 0x1cf0]
lea esi, [ebx + 0x1d54]
mov dl, byte [ecx]
test dl, dl
je 0x4c45ab
cmp al, dl
jne 0x4c459c
mov eax, dword [esp + 0x30]
mov edx, dword [esi]
or eax, edx
mov dword [esp + 0x30], eax
inc edi
mov al, byte [edi]
add esi, 4
inc ecx
test al, al
jne 0x4c4585
jmp 0x4c4625
cmp byte [edi], 0
je 0x4c4625
push 0x21
push edi
call fcn.00570260
mov esi, eax
add esp, 8
test esi, esi
je 0x4c45c8
mov byte [esi], 0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push eax
push 1
mov ecx, edi
call fcn.004e50f0
test esi, esi
je 0x4c4625
mov cl, byte [esi + 1]
test cl, cl
lea eax, [esi + 1]
mov dword [esp + 0x30], eax
je 0x4c4625
push 0x40
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c4625
mov ecx, dword [esp + 0x30]
lea esi, [ebp + 0x111c]
push ecx
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
push ebx
push 0
lea edx, [ebp + 0x1503]
push edx
mov edx, esi
mov ecx, edi
call fcn.0049a710
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4c4637
mov edi, eax
mov byte [edi], 0x20
jmp 0x4c4530
mov eax, dword [esp + 0x28]
test eax, eax
mov edi, dword [esp + 0x24]
je 0x4c4659
mov eax, dword [edi + 0x874]
push 0
push 0
push 0x19e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov ecx, edi
call fcn.004c0b60
mov esi, dword [edi + 0x6c0]
mov eax, dword [0x5ac9c8]
test eax, eax
jne 0x4c4679
test esi, esi
jne 0x4c5d88
mov edx, dword [ebp + 0x604]
mov eax, dword [ebp + edx*4 - 4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c4686
sub eax, edx
inc eax
mov dword [0x5ae230], eax
mov dword [0x59bcec], 0
mov dword [ebp + 0x604], 4
jmp case.0x4c49b8.412
cmp dword [ebx + 0x1918], edx
je 0x4c64a3
mov dword [ebx + 0x1918], edx
jmp 0x4c64a3
cmp dword [0x5ae610], edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c4700
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
xor edx, edx
mov ecx, 0xde9
lea edi, [ebp + 0x111c]
call fcn.0041d620
push eax
push edi
call esi
mov edx, dword [0x5a550c]
mov ecx, dword [ebx]
add esp, 0x10
push edx
mov edx, edi
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [ebp + 8], edx
je 0x4c4750
cmp dword [ebp + 0xc], edx
je 0x4c4750
mov dword [ebp + 0x604], 3
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [0x59bcec], edx
jmp case.0x4c49b8.412
cmp dword [0x5ae610], edx
mov esi, 1
je 0x4c47a0
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
mov esi, eax
xor eax, eax
lea ecx, [ebx + 0x1728]
mov edx, 0x104
mov dword [ebx + 0x1720], eax
mov dword [ebx + 0x1724], eax
call fcn.0041ef30
mov ecx, ebx
call fcn.004c12d0
mov eax, dword [0x59b1cc]
test eax, eax
je 0x4c47ec
mov eax, dword [0x59fa90]
test eax, eax
je 0x4c47ec
mov eax, dword [ebp + 0x18ec]
push 0
push eax
mov edx, 0x2b
mov ecx, ebp
call fcn.004145c0
test esi, esi
je 0x4c653b
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0xf9
lea edi, [ebp + 0x111c]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1c]
push ecx
stosw word es:[edi], ax
push 1
push 1
stosb byte es:[edi], al
push edx
mov edx, dword [ebp + 0x604]
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov esi, 1
push edx
mov dword [ebx + 0x1720], esi
call fcn.00570bc6
add esp, 4
mov ecx, ebx
mov dword [ebx + 0x1724], eax
call fcn.004c12d0
mov eax, dword [0x59b1cc]
test eax, eax
je 0x4c4874
mov eax, dword [0x59fa90]
test eax, eax
je 0x4c4874
mov eax, dword [ebp + 0x18ec]
push 0
push eax
mov edx, 0x2a
mov ecx, ebp
call fcn.004145c0
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
jmp case.0x4c49b8.412
cmp dword [ebx + 0x1f34], edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
jne 0x4c490f
lea ecx, [ebx + 0x1f38]
mov dword [ebx + 0x1f34], 1
call fcn.004c8280
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c48e4
mov ecx, dword [ebp + 0x608]
push ecx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov edx, dword [0x5a5504]
mov ecx, dword [ebx]
call fcn.00502b10
mov edx, dword [0x5a550c]
push edx
xor edx, edx
mov ecx, 0xde8
call fcn.0041d620
mov ecx, dword [ebx]
mov edx, eax
call fcn.00502c40
jmp 0x4c4944
cmp dword [0x5ae610], edx
je 0x4c4944
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
lea edi, [ebp + 0x1503]
push 0x588ec8
push edi
call esi
mov ecx, dword [ebx + 0x1f38]
add esp, 0x14
push 0
push 0
mov edx, edi
call fcn.004c8960
test eax, eax
je 0x4c653b
pop edi
pop esi
pop ebp
mov dword [ebx + 0x1f38], eax
pop ebx
add esp, 0x40c
ret
cmp ecx, 0x1dd
mov edi, 1
jg 0x4c588d
je 0x4c5850
sub ecx, 0x16d
cmp ecx, 0x6e
ja case.0x4c63f0.818
movzx ecx, byte [ecx + 0x4c6730]
jmp dword [ecx*4 + 0x4c66b8]
cmp dword [ebx + 0x1714], edx
je 0x4c49d1
mov dword [ebx + 0x1714], 2
cmp dword [0x5ae610], edx
je 0x4c4a10
mov edx, dword [ebp + 0x608]
push edx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
lea edi, [ebp + 0x111c]
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ef30
push ebp
mov edx, edi
mov ecx, 3
call fcn.004f4660
cmp byte [edi], 0x2d
jne 0x4c4a3c
mov al, byte [edi + 1]
inc edi
cmp al, 0x2d
je 0x4c4a34
cmp byte [edi], 0x20
jne 0x4c4a49
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x4c4a41
cmp byte [edi], 0
je 0x4c653b
push 0x20
push edi
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c4af2
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
jne 0x4c4a7a
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x4c4a71
cmp byte [eax], 0
je 0x4c653b
lea esi, [ebp + 0x1503]
push eax
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
push 0x588ec4
push esi
call fcn.00570b40
add esp, 8
test eax, eax
je 0x4c4ac4
mov ecx, eax
lea edx, [ecx + 1]
mov dword [esp + 0x28], edx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4c4ab1
sub ecx, dword [esp + 0x28]
cmp ecx, 3
ja 0x4c4ac4
mov byte [eax], 0
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c4ad0
sub eax, edx
push edi
lea eax, [eax + ebp + 0x1503]
push 0x588ebc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edi, esi
mov eax, dword [0x5aca84]
test eax, eax
mov ecx, dword [ebx]
je 0x4c4b23
mov edx, dword [0x5a5504]
call fcn.00502b10
mov ecx, dword [0x5a550c]
push ecx
mov ecx, dword [ebx]
mov edx, edi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov edx, dword [0x5a550c]
push edx
mov edx, edi
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
cmp dword [0x5ae610], edx
je 0x4c4b75
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
cmp dword [ebx + 0x1714], 2
jne 0x4c4b8b
mov eax, dword [0x5aca84]
test eax, eax
jne 0x4c653b
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], 0
call fcn.0041ef30
mov eax, dword [esp + 0x1c]
push eax
push 0
push 0
jmp 0x4c6529
mov edi, 1
mov dword [esp + 0x14], edi
cmp dword [ebx + 0x1714], edx
mov dword [ebx + 0x163c], edx
mov dword [ebx + 0x1640], edx
mov dword [ebx + 0x1644], edx
je 0x4c4bf8
mov ecx, edi
mov dword [ebx + 0x1714], edx
call fcn.004cb680
mov edx, dword [0x5b4314]
push ebx
push 0
push 0x803e
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c4c38
mov eax, dword [ebp + 0x608]
push eax
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
call fcn.0041ef30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push edi
push edx
mov edx, dword [ebp + 0x604]
push eax
mov ecx, ebp
call fcn.004bf5b0
mov ecx, ebx
call fcn.004c12d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004e2e60
test eax, eax
mov dword [esp + 0x24], eax
je 0x4c4ea5
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
call fcn.0041ef30
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c4d9c
push eax
mov edx, 0x3e7
lea ecx, [ebp + 0x111c]
call fcn.0041ee40
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4c4d9c
lea edi, [ebp + 0x111c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c4cd3
mov cx, word [0x584ab0]
mov word [edi], cx
mov edx, dword [ebp + 0x14]
push 0x21
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c4cfa
mov byte [eax], 0
mov ecx, dword [ebp + 0x14]
mov esi, ecx
nop
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4c4d00
sub ecx, esi
lea edi, [ebp + 0x111c]
mov edx, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c4d12
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x4c4d60
mov byte [eax], 0x21
mov cl, byte [eax + 1]
inc eax
test cl, cl
je 0x4c4d60
lea ecx, [ebp + 0x111c]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4c4d40
push eax
sub ecx, esi
lea eax, [ecx + ebp + 0x111c]
push 0x583d24
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4c4d9c
lea eax, [ebp + 0x111c]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c4d70
sub eax, esi
mov edx, 1
mov esi, eax
call fcn.0052d720
push eax
lea ecx, [esi + ebp + 0x111c]
push 0x588eb4
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [ebp + 0x608], 0x16f
jne 0x4c4e33
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x6e0]
test eax, eax
je 0x4c4dbf
cmp eax, 2
jne 0x4c4dd8
mov esi, dword [esp + 0x24]
lea ecx, [esi + 0x6dc]
call fcn.004c8280
mov dword [esi + 0x6e0], 1
mov al, byte [ebp + 0x111c]
test al, al
je 0x4c4e33
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4c4e33
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x6dc]
call fcn.0049b060
test eax, eax
jne 0x4c4e33
mov ecx, dword [edi + 0x6dc]
lea esi, [ebp + 0x111c]
push eax
mov edx, esi
call fcn.004c7e10
test eax, eax
je 0x4c4e1a
mov dword [edi + 0x6dc], eax
mov ecx, dword [ebx + 0x1f48]
push 0
mov edx, esi
call fcn.004c7e10
test eax, eax
je 0x4c4e33
mov dword [ebx + 0x1f48], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx + 0x1f40]
jne 0x4c4ea5
mov cl, byte [ebp + 0x111c]
test cl, cl
lea esi, [ebp + 0x111c]
je 0x4c653b
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4c653b
cmp dword [ebp + 0x608], 0x16f
jne 0x4c4e7d
mov ecx, dword [eax + 0x6dc]
call fcn.0049b060
test eax, eax
jne 0x4c653b
mov ecx, dword [ebx + 0x1f48]
push 0
mov edx, esi
call fcn.004c7e10
test eax, eax
je 0x4c653b
pop edi
pop esi
pop ebp
mov dword [ebx + 0x1f48], eax
pop ebx
add esp, 0x40c
ret
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebx + 0x1f4c]
push ecx
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c280e
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4c280e
mov eax, dword [0x5ae610]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c4f18
mov edx, dword [ebp + 0x608]
push edx
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call edi
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
lea ebx, [ebp + 0x111c]
push str._s__s_set_by__s
push ebx
call edi
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test ecx, ecx
je 0x4c4f66
mov eax, ebx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c4f41
sub eax, esi
xor edx, edx
mov esi, eax
call fcn.0052d6e0
push eax
lea eax, [esi + ebp + 0x111c]
push 0x583d24
push eax
call edi
add esp, 0xc
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [0x59bcec], 0
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004e2e60
mov edi, eax
test edi, edi
mov esi, 1
je 0x4c4fea
cmp dword [ebp + 0x608], 0x170
jne 0x4c4fea
cmp dword [edi + 0x6e0], esi
je 0x4c4fc7
lea ecx, [edi + 0x6dc]
call fcn.004c8280
mov dword [edi + 0x6e0], 2
mov eax, dword [ebx + 0x1e80]
test al, 0x20
jne 0x4c4fe0
test ah, 4
je 0x4c4fea
mov dword [edi + 0x6e0], 0
mov edx, dword [ebp + 0x18ec]
push edx
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.00423660
test eax, eax
jne 0x4c653b
mov dword [esp + 0x18], esi
jmp 0x4c64a3
push ebx
xor edx, edx
xor ecx, ecx
call fcn.00423660
test eax, eax
jne 0x4c653b
mov dword [esp + 0x18], 1
jmp 0x4c64a3
mov eax, dword [ebp + 0x600]
mov esi, 3
cmp eax, esi
jl 0x4c653b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
jne 0x4c653b
xor eax, eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov dword [ebp + 0x604], esi
jmp case.0x4c49b8.412
mov dword [ebx + 0x1f18], edx
mov dword [ebx + 0x1f1c], edx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
mov edx, 1
call fcn.004bf060
xor eax, eax
mov dword [0x59bcec], eax
mov dword [0x5ae230], eax
mov dword [esp + 0x18], 1
jmp case.0x4c49b8.412
cmp dword [ebp + 0x600], 3
jl 0x4c653b
mov ecx, dword [ebp + 0xc]
push edx
xor edx, edx
call fcn.004ca290
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0xc]
push ecx
lea esi, [ebx + 0x182c]
push esi
mov dword [esp + 0x30], 0
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4c5189
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov edi, eax
test edi, edi
je 0x4c5189
cmp dword [edi + 0x708], 1
jne 0x4c5189
lea ecx, [edi + 0x6bc]
mov dword [edi + 0x73c], 0
call fcn.004c8280
mov edx, dword [edi + 0x874]
push 0
push 0
push 0x18e
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4c5160
push eax
push eax
mov eax, dword [edi + 0x874]
push 0x19e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov ecx, edi
call fcn.004c0b60
mov edx, 2
mov ecx, edi
call fcn.00476cd0
mov ecx, dword [edi + 0x6c0]
mov dword [esp + 0x28], ecx
mov dword [edi + 0x6c0], 0
mov ecx, dword [ebx + 0x1f14]
xor eax, eax
cmp ecx, eax
mov byte [esi], 0
je 0x4c51a6
mov dword [ebx + 0x1f14], eax
mov dword [esp + 0x14], 1
cmp dword [0x5ac9c8], eax
jne 0x4c51ee
cmp dword [esp + 0x28], eax
je 0x4c51ee
mov edx, dword [ebp + 0x608]
push edx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov dword [0x59bcec], eax
mov dword [esp + 0x18], 1
jmp 0x4c64a3
cmp dword [0x5ae610], edx
je 0x4c5239
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebx + 0x1f34]
test eax, eax
je 0x4c5254
mov ecx, ebp
mov dword [ebx + 0x1f34], 0
call fcn.004c9200
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
call fcn.0041ef30
mov eax, dword [esp + 0x1c]
push eax
push 1
push 0
jmp 0x4c6529
cmp dword [ebx + 0x1f28], edx
jne case.0x4c49b8.412
mov eax, 1
mov dword [ebx + 0x1f28], eax
mov dword [esp + 0x14], eax
jmp case.0x4c49b8.412
mov dword [ebx + 0x1f28], edx
mov dword [esp + 0x18], 1
jmp case.0x4c49b8.412
cmp dword [0x5ae610], edx
je 0x4c52de
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], 0
call fcn.0041ef30
mov edx, dword [0x5a5500]
mov eax, dword [esp + 0x10]
push edx
push 1
push 1
push eax
or edx, 0xffffffff
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
mov esi, 1
je 0x4c5399
mov edx, ebx
call fcn.004c0760
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c5399
cmp dword [eax + 0x708], esi
jne 0x4c5399
mov ecx, dword [eax + 0x724]
test ecx, ecx
jne 0x4c535e
mov ecx, dword [eax + 0x764]
test ecx, ecx
je 0x4c5399
mov dword [eax + 0x724], 0
mov ecx, dword [0x5aca74]
test ecx, ecx
je 0x4c537a
mov dword [eax + 0x764], esi
jmp 0x4c5399
mov ecx, dword [eax + 0x720]
test ecx, ecx
jne 0x4c5399
mov ecx, dword [eax]
push 0
push 0
push 0x10
push ecx
mov dword [eax + 0x720], esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x5ae610]
test eax, eax
mov dword [esp + 0x28], esi
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c53db
mov edx, dword [ebp + 0x608]
push edx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call esi
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x163c]
test eax, eax
je 0x4c54e3
mov eax, dword [ebx + 0x1640]
test eax, eax
jne 0x4c54e3
mov eax, dword [ebx + 0x1644]
test eax, eax
jne 0x4c54e3
mov eax, dword [ebx + 0xf28]
test eax, eax
jne 0x4c5451
mov cl, byte [ebx + 0xe60]
test cl, cl
lea eax, [ebx + 0xe60]
je 0x4c5451
push eax
lea edi, [ebp + 0x111c]
push str.NICK__s_n
push edi
mov dword [ebx + 0xf28], 1
call esi
add esp, 0xc
push ebx
xor edx, edx
mov ecx, edi
call fcn.0054b400
mov ecx, ebx
call fcn.004c12d0
jmp 0x4c54e3
mov ecx, ebx
mov dword [ebx + 0x1640], 1
call fcn.004c12d0
cmp dword [ebx + 0xf28], 2
je 0x4c54e3
mov eax, dword [0x59bcd4]
test eax, eax
je 0x4c5483
mov ecx, dword [0x59bcd8]
call fcn.0041d4f0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4c653b
mov ecx, dword [ebx]
call fcn.00542c90
mov edi, eax
test edi, edi
je 0x4c54e3
mov ecx, dword [edi + 0x86c]
push 0xffffffffffffffff
push 0
mov edx, 1
call fcn.004779b0
mov eax, dword [edi + 0x86c]
push 0x588e8c
push 0
push 0xc2
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [edi + 0x86c]
push 0x7d000
push 0x7d000
mov edx, 1
call fcn.004779b0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4c653b
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], 0
call fcn.0041ef30
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push ecx
push 1
push 1
push edx
mov edx, 3
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004c0760
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov ecx, dword [ebp + 0x18ec]
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, eax
call fcn.00423660
test eax, eax
jne 0x4c653b
jmp 0x4c563d
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004f9f20
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004c0760
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x4c55e6
mov ecx, dword [edi + 0x708]
mov eax, 1
cmp ecx, eax
jne 0x4c55e6
cmp dword [edi + 0x724], esi
jne 0x4c55b5
cmp dword [edi + 0x764], esi
je 0x4c55e6
mov dword [edi + 0x724], esi
cmp dword [0x5aca74], esi
je 0x4c55cb
mov dword [edi + 0x764], eax
jmp 0x4c55e6
cmp dword [edi + 0x720], esi
jne 0x4c55e6
mov edx, dword [edi]
push esi
push esi
push 0x10
push edx
mov dword [edi + 0x720], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0x18ec]
mov edx, dword [ebp + 0xc]
push eax
mov ecx, edi
call fcn.00423660
test eax, eax
jne 0x4c653b
mov eax, 1
mov dword [0x59bcec], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp 0x4c64a3
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004f9f20
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c563d
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [0x59bcec], 0
mov dword [esp + 0x14], eax
jmp 0x4c64a3
mov dword [0x59bcec], edx
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp 0x4c64a3
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
cmp eax, 0x191
jne 0x4c568e
push ebx
push edx
push edx
push edx
xor edx, edx
call fcn.004e8440
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004f9f20
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
xor edx, edx
call fcn.004bf060
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
xor esi, esi
cmp eax, esi
je 0x4c56d1
cmp eax, dword [ebx + 0x1f40]
jne 0x4c56d1
mov dword [ebx + 0x1f40], esi
mov dword [ebx + 0x1f44], esi
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004068b0
test eax, eax
je 0x4c572a
cmp dword [0x59f16c], esi
je 0x4c5720
xor edx, edx
mov ecx, 0xdf2
call fcn.0041d620
mov ecx, dword [0x59f168]
mov edx, dword [0x59f16c]
push eax
push esi
push 0xc
push ecx
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
pop edi
pop esi
pop ebp
mov dword [0x59f168], 0xffffffff
pop ebx
add esp, 0x40c
ret
mov dword [0x59f168], 0xffffffff
cmp dword [0x5ae610], esi
je 0x4c5769
mov eax, dword [ebp + 0x608]
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
cmp dword [ebp + 0x608], 0x191
mov esi, 1
jne 0x4c57ca
mov ecx, dword [esp + 0x10]
cmp ecx, dword [ebx]
jne 0x4c57ca
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c57ca
mov edi, dword [0x5b430c]
test edi, edi
je 0x4c57ca
cmp dword [edi + 0xbbc], ebx
jne 0x4c57c0
cmp dword [edi + 0x708], 2
jne 0x4c57c0
cmp dword [edi + 0x70c], esi
jne 0x4c57c0
mov edx, dword [ebp + 0xc]
push edx
lea eax, [edi + 8]
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4c5808
mov edi, dword [edi + 0xd9c]
test edi, edi
jne 0x4c5793
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], 0
call fcn.0041ef30
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push edx
push esi
push 0
push eax
mov edx, 3
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov dword [0x5ae23c], esi
lea esi, [ebp + 0x1503]
mov edx, 0x3e7
mov ecx, esi
mov dword [0x59bcec], 0
call fcn.0041ef30
push ebp
mov edx, esi
mov ecx, 4
call fcn.004f4660
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [edi]
mov edx, esi
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
test byte [ebx + 0x1e80], 1
mov eax, edi
jne 0x4c585d
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je 0x4c5872
mov edx, str.join
call fcn.0041e2a0
test eax, eax
jmp 0x4c5874
cmp eax, edx
jne case.0x4c58bb.489
mov dword [0x59bcec], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
jmp case.0x4c49b8.412
cmp ecx, 0x260
jg 0x4c5cdd
cmp ecx, 0x258
jge case.0x4c63f0.901
sub ecx, 0x1e2
cmp ecx, 0x4a
ja case.0x4c63f0.818
movzx ecx, byte [ecx + 0x4c67b8]
jmp dword [ecx*4 + 0x4c67a0]
mov dword [0x59bcec], edx
mov eax, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
jmp case.0x4c49b8.412
mov eax, dword [ebp + 0xc]
test eax, eax
je case.0x4c49b8.412
cmp dword [ebp + 0x608], 0x1e9
jne 0x4c594e
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4c594e
lea esi, [ebp + 0x1503]
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ef30
push ebp
mov edx, esi
mov ecx, 4
call fcn.004f4660
mov edx, str.voiced
mov ecx, esi
call fcn.0041e2a0
test eax, eax
je 0x4c594e
mov edx, str.operator
mov ecx, esi
call fcn.0041e2a0
test eax, eax
je 0x4c594e
mov dword [0x59bcec], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
jmp 0x4c64a3
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004c0760
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
test eax, eax
je 0x4c59bd
cmp dword [eax + 0x708], edi
jne 0x4c59bd
mov ecx, dword [eax + 0x724]
test ecx, ecx
jne 0x4c5982
mov ecx, dword [eax + 0x764]
test ecx, ecx
je 0x4c59bd
mov dword [eax + 0x724], 0
mov ecx, dword [0x5aca74]
test ecx, ecx
je 0x4c599e
mov dword [eax + 0x764], edi
jmp 0x4c59bd
mov ecx, dword [eax + 0x720]
test ecx, ecx
jne 0x4c59bd
mov edx, dword [eax]
push 0
push 0
push 0x10
push edx
mov dword [eax + 0x720], edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c59fd
mov eax, dword [ebp + 0x608]
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0xc]
push ecx
xor edx, edx
mov ecx, 0xdea
lea esi, [ebp + 0x111c]
call fcn.0041d620
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [ebp + 0x1503]
add esp, 0xc
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ef30
mov eax, dword [ebp + 0x608]
cmp eax, 0x195
jne 0x4c5a47
mov ecx, 0xdec
jmp 0x4c5ab5
cmp eax, 0x1d7
jne 0x4c5a55
mov ecx, 0xded
jmp 0x4c5ab5
cmp eax, 0x1d9
jne 0x4c5a63
mov ecx, 0xdee
jmp 0x4c5ab5
cmp eax, 0x1da
jne 0x4c5a71
mov ecx, 0xdef
jmp 0x4c5ab5
cmp eax, 0x1db
jne 0x4c5a7f
mov ecx, 0xdf0
jmp 0x4c5ab5
cmp eax, 0x1dd
jne 0x4c5a8d
mov ecx, 0xdf1
jmp 0x4c5ab5
cmp eax, 0x1e9
jne 0x4c5a9b
mov ecx, 0xdf7
jmp 0x4c5ab5
cmp eax, 0x207
jne 0x4c5aa9
mov ecx, 0xdf4
jmp 0x4c5ab5
cmp eax, 0x22c
jne 0x4c5abc
mov ecx, 0xdf3
mov edx, edi
call fcn.0041d620
cmp byte [edi], 0
je 0x4c5ae6
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c5ac6
sub eax, edx
push edi
lea edx, [eax + ebp + 0x111c]
push 0x583d24
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [0x5a550c]
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
mov ecx, dword [ebx]
push eax
mov edx, esi
call fcn.00503ad0
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.004e2e60
mov ebx, eax
test ebx, ebx
je 0x4c653b
cmp dword [ebx + 0x708], 1
jne 0x4c653b
xor edx, edx
mov ecx, 0xdeb
call fcn.0041d620
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
mov al, byte [edi]
add esp, 8
test al, al
je 0x4c5b70
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c5b50
sub eax, edx
push edi
lea ecx, [eax + ebp + 0x111c]
push 0x583d24
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [0x5a5504]
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
mov ecx, dword [ebx]
push edx
mov edx, esi
call fcn.00503ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je case.0x4c49b8.412
mov edx, ebx
call fcn.004e2e60
mov esi, eax
test esi, esi
mov dword [esp + 0x24], esi
je 0x4c5c98
mov eax, dword [ebp + 0x18ec]
mov edx, dword [ebp + 0xc]
push eax
mov ecx, esi
call fcn.00423660
test eax, eax
jne 0x4c653b
mov ecx, esi
call fcn.00542ed0
test eax, eax
je 0x4c5c98
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c5c27
mov ecx, dword [ebp + 0x608]
push ecx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
lea esi, [ebp + 0x1503]
mov edx, 0x3e7
mov ecx, esi
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
call fcn.0041ef30
push ebp
mov edx, esi
mov ecx, 4
call fcn.004f4660
push esi
call fcn.00580fc6
mov edx, dword [ebp + 8]
push esi
push edx
lea ebx, [ebp + 0x111c]
push 0x588e6c
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x5a5504]
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
add esp, 0x14
push eax
mov edx, ebx
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov edx, dword [ebp + 0x18ec]
push edx
mov edx, dword [ebp + 0xc]
xor ecx, ecx
call fcn.00423660
test eax, eax
jne 0x4c653b
mov dword [ebp + 0x604], 3
lea ecx, [ebp + 0x111c]
mov edx, 0x3e7
mov dword [0x59bcec], eax
call fcn.0041ef30
mov dword [esp + 0x18], 1
jmp case.0x4c49b8.412
cmp ecx, 0x32c
jg 0x4c63d7
je case.0x4c2921.322
sub ecx, 0x28a
cmp ecx, 0xa1
ja case.0x4c63f0.818
movzx eax, byte [ecx + 0x4c6818]
jmp dword [eax*4 + 0x4c6804]
mov eax, dword [0x5b430c]
cmp eax, edx
je 0x4c5d3a
mov ecx, 1
lea ecx, [ecx]
cmp dword [eax + 0xbbc], ebx
jne 0x4c5d30
cmp dword [eax + 0x708], ecx
je 0x4c5d50
mov eax, dword [eax + 0xd9c]
cmp eax, edx
jne 0x4c5d20
mov eax, dword [ebx + 0x1e80]
or eax, 0x20
mov ecx, ebx
mov dword [ebx + 0x1e80], eax
call fcn.004ffd70
mov ecx, dword [ebp + 0x600]
mov eax, 3
cmp ecx, eax
jl 0x4c5d65
mov dword [ebp + 0x604], eax
mov dword [0x59bcec], 0
jmp case.0x4c49b8.412
mov ecx, ebx
call fcn.0042af20
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0x608]
push ecx
jmp 0x4c644d
cmp dword [ebp + 8], edx
je case.0x4c49b8.412
cmp dword [ebp + 0xc], edx
je case.0x4c49b8.412
mov esi, dword [ebx + 0x1f2c]
xor eax, eax
cmp esi, edx
setne al
inc eax
mov dword [ebx + 0x1f2c], eax
cmp dword [0x5ae610], edx
je 0x4c5df9
mov ecx, dword [ebp + 0x608]
push ecx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0xc]
test eax, eax
je case.0x4c49b8.412
mov eax, dword [ebx + 0x1f2c]
mov esi, 1
cmp eax, esi
jne 0x4c5e65
mov eax, dword [0x59bcd4]
test eax, eax
je 0x4c5e58
mov eax, dword [0x5adb38]
cmp eax, esi
jne 0x4c5e32
mov ecx, dword [0x59bcd8]
call fcn.0041d4f0
jmp 0x4c5e58
cmp eax, 2
jne 0x4c5e52
mov edx, dword [ebp + 0x18ec]
push edx
xor edx, edx
mov ecx, esi
call fcn.004772b0
mov edx, esi
mov ecx, eax
call fcn.00520010
jmp 0x4c5e58
mov dword [0x5ae234], esi
mov edx, dword [0x5a5504]
mov ecx, dword [ebx]
call fcn.00502b10
mov eax, dword [ebp]
push eax
push 0x16
lea edi, [ebp + 0x111c]
push str._cServices_Message___s_
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x5a550c]
add esp, 0x10
xor esi, esi
mov dword [0x59bcec], esi
push ecx
mov ecx, dword [ebx]
mov edx, edi
call fcn.00502c40
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ef30
push ebp
mov edx, edi
mov ecx, 3
call fcn.004f4660
mov edx, dword [0x5a550c]
mov dword [0x59bcec], esi
mov dword [0x5ae23c], 1
mov ecx, dword [ebx]
push edx
mov edx, edi
call fcn.00502c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov esi, dword [ebx + 0x1f2c]
mov dword [ebx + 0x1f2c], edx
cmp dword [0x5ae610], edx
je 0x4c5f27
mov eax, dword [ebp + 0x608]
push eax
lea edi, [ebp + 0x111c]
push 0x583948
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
test esi, esi
jne 0x4c653b
jmp case.0x4c49b8.412
cmp eax, 0x142
jne 0x4c5f5c
mov ecx, dword [ebp + 0x600]
mov eax, 4
cmp ecx, eax
jl 0x4c653b
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 5
jmp 0x4c5f79
cmp dword [ebp + 0x600], 6
jl 0x4c653b
mov dword [esp + 0x18], 5
mov dword [esp + 0x24], 7
cmp dword [ebx + 0x1918], 2
je 0x4c5f89
mov ecx, ebx
call fcn.0042af20
mov ecx, dword [ebx + 0x1914]
call fcn.00542c90
test eax, eax
mov dword [esp + 0x14], eax
je 0x4c653b
mov ecx, dword [ebp + 0xc]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c5fa8
sub eax, esi
mov esi, 1
cmp eax, esi
jl 0x4c653b
cmp eax, 0x32
jg 0x4c653b
push 0
xor edx, edx
call fcn.004ca290
test eax, eax
je 0x4c653b
mov ecx, dword [ebp + 0xc]
push 9
push ecx
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4c653b
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + edx*4]
push eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
call fcn.005705cb
mov ecx, dword [ebx + 0x1a38]
add esp, 4
cmp eax, ecx
jl 0x4c6019
cmp eax, dword [ebx + 0x1a3c]
jle 0x4c601f
xor esi, esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x24]
mov ecx, dword [ebp + ecx*4]
test ecx, ecx
je 0x4c603e
mov eax, dword [0x5a07dc]
test eax, eax
je 0x4c603e
cmp byte [ecx], 0
je 0x4c603e
call fcn.00417ff0
test esi, esi
je 0x4c613d
mov edx, dword [ebp + 0xc]
lea esi, [ebp + 0x1503]
push edx
mov edx, 0x3e7
mov ecx, esi
call fcn.0041ee40
cmp dword [ebx + 0x1a40], 1
jne 0x4c60c6
mov eax, dword [esp + 0x24]
mov eax, dword [ebp + eax*4]
test eax, eax
je 0x4c60c6
cmp byte [eax], 0
je 0x4c60c6
mov edi, esi
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c6080
mov cx, word [0x5842b8]
mov edx, dword [esp + 0x24]
mov word [edi], cx
mov eax, dword [ebp + edx*4]
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c60a0
lea edi, [ebp + 0x1503]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c60b0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp + 0x1503]
push edi
call fcn.00580fc6
add esp, 4
mov edx, 0xf
mov ecx, edi
call fcn.00524b30
mov eax, dword [ebx + 0x1a44]
xor esi, esi
cmp eax, esi
je 0x4c6112
mov al, byte [ebx + 0x1b54]
test al, al
lea ecx, [ebx + 0x1b54]
je 0x4c6112
mov edx, edi
call fcn.004291b0
test eax, eax
je 0x4c6112
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], esi
jmp 0x4c613d
mov al, byte [ebx + 0x1a50]
test al, al
lea ecx, [ebx + 0x1a50]
je 0x4c613d
mov edx, edi
mov dword [esp + 0x20], 0
call fcn.004291b0
test eax, eax
je 0x4c613d
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov eax, dword [ebp + eax*4]
test eax, eax
je 0x4c6175
cmp byte [eax], 0
je 0x4c6175
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + ecx*4]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
mov eax, dword [ebp + 0xc]
push edx
push eax
lea edi, [ebp + 0x111c]
push str.__s_t_s_t_s
push edi
call esi
add esp, 0x14
jmp 0x4c6199
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + ecx*4]
mov eax, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push edx
push eax
lea edi, [ebp + 0x111c]
push str.__s_t_s
push edi
call esi
add esp, 0x10
push 0x1a
push edi
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4c653b
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c61f2
mov ecx, dword [ebp + 0x608]
push ecx
lea esi, [ebp + 0x1503]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6cc]
push 0
push 0
mov edx, edi
call fcn.004c8960
test eax, eax
je 0x4c653b
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x6cc], eax
mov eax, dword [ebx + 0x1a48]
test eax, eax
je 0x4c625c
movzx edx, byte [ebp + 0x111e]
push edx
call fcn.00570f0a
add esp, 4
test eax, eax
je 0x4c6337
cmp byte [ebp + 0x111e], 0x30
jne 0x4c625c
movzx eax, byte [ebp + 0x111f]
push eax
call fcn.00570f0a
add esp, 4
test eax, eax
je 0x4c6337
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4c62ba
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6cc]
mov edx, dword [ecx]
mov eax, dword [eax + 0x874]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edx
push 0
push 0x180
push eax
call esi
mov eax, dword [ebx + 0x1a30]
test eax, eax
jg 0x4c62a7
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x874]
push 0
push 0
push 0x186
push edx
call esi
mov eax, dword [ebx + 0x1a30]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
inc eax
mov dword [ebx + 0x1a30], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4c6337
cmp dword [ebx + 0x191c], 0xffffffff
je 0x4c6337
mov eax, dword [esp + 0x24]
mov eax, dword [ebp + eax*4]
test eax, eax
je 0x4c62fb
cmp byte [eax], 0
je 0x4c62fb
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + ecx*4]
push eax
mov eax, dword [ebp + 0xc]
push edx
push eax
push str._s__s__s_r_n
push edi
call esi
add esp, 0x14
jmp 0x4c6313
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + ecx*4]
mov eax, dword [ebp + 0xc]
push edx
push eax
push str._s__s_r_n
push edi
call esi
add esp, 0x10
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c6318
push 0
lea ecx, [esp + 0x34]
push ecx
sub eax, edx
mov edx, dword [ebx + 0x191c]
push eax
push edi
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x1a2c]
mov ecx, dword [ebx + 0x1a28]
inc edx
inc ecx
mov eax, ecx
cmp eax, 0x32
mov dword [ebx + 0x1a2c], edx
mov dword [ebx + 0x1a28], ecx
jge 0x4c6382
call fcn.0041f070
mov ebp, dword [ebx + 0x1c58]
mov ecx, dword [ebx + 0x1c5c]
sub eax, ebp
sbb edx, ecx
mov dword [esp + 0x2c], edx
js 0x4c653b
jg 0x4c6382
cmp eax, 0x64
jbe 0x4c653b
mov dword [ebx + 0x1a28], 0
call fcn.0041f070
mov ecx, dword [ebx + 0x1a30]
mov dword [ebx + 0x1c58], eax
mov eax, dword [ebx + 0x1a2c]
push eax
mov dword [ebx + 0x1c5c], edx
push ecx
xor edx, edx
mov ecx, 0xde6
call fcn.0041d620
push eax
push edi
call esi
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
add esp, 0x10
push edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
sub ecx, 0x330
cmp ecx, 0xb7
ja case.0x4c63f0.818
movzx ecx, byte [ecx + 0x4c68cc]
jmp dword [ecx*4 + 0x4c68bc]
mov ecx, ebp
call fcn.004c1350
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov ecx, ebx
call fcn.0042b140
mov edx, dword [0x5a550c]
push edx
xor edx, edx
mov ecx, 0xde7
call fcn.0041d620
mov ecx, dword [ebx]
mov edx, eax
call fcn.00502c40
mov edx, dword [0x5a5504]
mov ecx, dword [ebx]
call fcn.00502b10
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c653b
mov eax, dword [ebp + 0x608]
push eax
lea esi, [ebp + 0x111c]
push 0x583948
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push esi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jmp case.0x4c49b8.412
cmp dword [ebp], edx
je case.0x4c49b8.412
cmp dword [ebp + 4], edx
je case.0x4c49b8.412
cmp dword [ebp + 8], edx
je case.0x4c49b8.412
cmp dword [ebp + 0xc], edx
je case.0x4c49b8.412
mov dword [ebp + 0x604], 3
mov eax, dword [0x5ae610]
test eax, eax
je 0x4c6508
mov edx, dword [ebp + 0x608]
mov ecx, dword [0x5ae230]
mov esi, dword [0x59bcec]
push edx
lea edi, [ebp + 0x111c]
push 0x583948
push edi
mov dword [esp + 0x34], ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 0
push 2
push edi
push ebp
xor edx, edx
mov ecx, ebx
call fcn.0050e610
test eax, eax
je 0x4c653b
mov eax, dword [esp + 0x28]
mov dword [0x59bcec], esi
mov dword [0x5ae230], eax
mov edx, dword [esp + 0x18]
xor eax, eax
mov ecx, 0xf9
lea edi, [ebp + 0x111c]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1c]
stosw word es:[edi], ax
push ecx
stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
push edx
push eax
mov edx, dword [ebp + 0x604]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.004bf5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40c
ret